diff --git a/descriptions-next/api.github.com/api.github.com.2022-11-28.json b/descriptions-next/api.github.com/api.github.com.2022-11-28.json index b0692b120c..570e532800 100644 --- a/descriptions-next/api.github.com/api.github.com.2022-11-28.json +++ b/descriptions-next/api.github.com/api.github.com.2022-11-28.json @@ -530,6 +530,3174 @@ } } }, + "/agents/repos/{owner}/{repo}/tasks": { + "get": { + "summary": "List tasks for repository", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for a specific repository\n\n**Fine-grained access tokens for \"List tasks for repository\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + }, + { + "name": "creator_id", + "in": "query", + "schema": { + "type": "integer" + }, + "description": "Filter tasks by creator user ID" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"prev\" (when current page > 1),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Start a task", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nStarts a new Copilot cloud agent task for a repository.\n\nThis endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription.\n\n**Fine-grained access tokens for \"Start a task\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read and write)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/create-task-in-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + } + ], + "requestBody": { + "required": true, + "description": "The task creation parameters, including the user's prompt and optional agent settings.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The user's prompt for the agent" + }, + "model": { + "type": "string", + "description": "The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5`" + }, + "create_pull_request": { + "type": "boolean", + "description": "Whether to create a PR.", + "default": false + }, + "base_ref": { + "type": "string", + "description": "Base ref for new branch/PR" + } + } + }, + "examples": { + "default": { + "value": { + "prompt": "Fix the login button on the homepage", + "base_ref": "main" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Task created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "queued", + "session_count": 1, + "artifacts": [], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + } + } + } + } + } + }, + "400": { + "description": "Problems parsing JSON", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/repos/{owner}/{repo}/tasks/{task_id}": { + "get": { + "summary": "Get a task by repo", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID scoped to an owner/repo path\n\n**Fine-grained access tokens for \"Get a task by repo\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-repo-and-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks": { + "get": { + "summary": "List tasks", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for the authenticated user\n\n**Fine-grained access tokens for \"List tasks\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks/{task_id}": { + "get": { + "summary": "Get a task by ID", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID with its associated sessions\n\n**Fine-grained access tokens for \"Get a task by ID\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Problems parsing request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, "/app": { "get": { "summary": "Get the authenticated app", @@ -14726,7 +17894,7 @@ "/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}": { "post": { "summary": "Set cluster deployment records", - "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.", + "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.\nNote: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments\narray resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use\nthe artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can\nonly have one name and version.", "tags": [ "orgs" ], @@ -14779,20 +17947,20 @@ "properties": { "name": { "type": "string", - "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", + "description": "The name of the artifact.", "minLength": 1, "maxLength": 256 }, "digest": { "type": "string", - "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", + "description": "The hex encoded digest of the artifact.", "minLength": 71, "maxLength": 71, "pattern": "^sha256:[a-f0-9]{64}$" }, "version": { "type": "string", - "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", + "description": "The artifact version.", "maxLength": 100, "x-multi-segment": true, "examples": [ @@ -28114,7 +31282,7 @@ }, "post": { "summary": "Create a private registry for an organization", - "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -28199,7 +31367,393 @@ } }, "auth_type": { - "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith` for OIDC authentication.", + "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication.", + "type": "string", + "enum": [ + "token", + "username_password", + "oidc_azure", + "oidc_aws", + "oidc_jfrog", + "oidc_cloudsmith", + "oidc_gcp" + ] + }, + "tenant_id": { + "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "type": "string" + }, + "aws_region": { + "description": "The AWS region. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "account_id": { + "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "role_name": { + "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "domain": { + "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "domain_owner": { + "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "jfrog_oidc_provider_name": { + "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.", + "type": "string" + }, + "audience": { + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", + "type": "string" + }, + "identity_mapping_name": { + "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.", + "type": "string" + }, + "namespace": { + "description": "The Cloudsmith organization namespace. Required when `auth_type` is `oidc_cloudsmith`.", + "type": "string" + }, + "service_slug": { + "description": "The Cloudsmith service account slug. Required when `auth_type` is `oidc_cloudsmith`.", + "type": "string" + }, + "api_host": { + "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", + "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + } + }, + "required": [ + "registry_type", + "url", + "visibility" + ] + }, + "examples": { + "org-private-registry-with-private-visibility": { + "summary": "Example of a private registry configuration with private visibility", + "value": { + "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", + "username": "monalisa", + "replaces_base": true, + "encrypted_value": "c2VjcmV0", + "key_id": "012345678912345678", + "visibility": "private" + } + }, + "org-private-registry-with-selected-visibility": { + "summary": "Example of a private registry configuration with selected visibility", + "value": { + "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", + "username": "monalisa", + "encrypted_value": "c2VjcmV0", + "key_id": "012345678912345678", + "visibility": "selected", + "selected_repository_ids": [ + 1296269, + 1296280 + ] + } + }, + "org-private-registry-with-oidc-azure": { + "summary": "Example of an OIDC private registry configuration using Azure", + "value": { + "registry_type": "docker_registry", + "url": "https://myregistry.azurecr.io", + "auth_type": "oidc_azure", + "visibility": "all", + "tenant_id": "12345678-1234-1234-1234-123456789012", + "client_id": "abcdef01-2345-6789-abcd-ef0123456789" + } + }, + "org-private-registry-with-oidc-cloudsmith": { + "summary": "Example of an OIDC private registry configuration using Cloudsmith", + "value": { + "registry_type": "npm_registry", + "url": "https://npm.cloudsmith.io/my-org/my-repo/", + "auth_type": "oidc_cloudsmith", + "visibility": "all", + "namespace": "my-org", + "service_slug": "my-service-account", + "audience": "https://github.com/my-org" + } + }, + "org-private-registry-with-oidc-gcp": { + "summary": "Example of an OIDC private registry configuration using Google Cloud Artifact Registry", + "value": { + "registry_type": "docker_registry", + "url": "https://us-docker.pkg.dev/my-project/my-repo", + "auth_type": "oidc_gcp", + "visibility": "all", + "workload_identity_provider": "projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider", + "service_account": "dependabot@my-project.iam.gserviceaccount.com" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "The organization private registry configuration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" + }, + "examples": { + "org-private-registry-with-selected-visibility": { + "$ref": "#/components/examples/org-private-registry-configuration" + }, + "org-private-registry-with-private-visibility": { + "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + } + }, + "/orgs/{org}/private-registries/public-key": { + "get": { + "summary": "Get private registries public key for an organization", + "description": "\nGets 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.\n\nOAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/get-org-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "key_id", + "key" + ], + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "examples": [ + "012345678912345678" + ] + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "examples": [ + "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + ] + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/private-registries-public-key" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + } + }, + "/orgs/{org}/private-registries/{secret_name}": { + "get": { + "summary": "Get a private registry for an organization", + "description": "\nGet the configuration of a single private registry defined for an organization, omitting its encrypted value.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/get-org-private-registry", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + }, + { + "$ref": "#/components/parameters/secret-name" + } + ], + "responses": { + "200": { + "description": "The specified private registry configuration for the organization", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/org-private-registry-configuration" + }, + "examples": { + "default": { + "$ref": "#/components/examples/org-private-registry-configuration" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + }, + "patch": { + "summary": "Update a private registry for an organization", + "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/update-org-private-registry", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + }, + { + "$ref": "#/components/parameters/secret-name" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "registry_type": { + "description": "The registry type.", + "type": "string", + "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" + ] + }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, + "username": { + "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.", + "type": [ + "string", + "null" + ] + }, + "replaces_base": { + "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.", + "type": "boolean", + "default": false + }, + "encrypted_value": { + "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.", + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + }, + "key_id": { + "description": "The ID of the key you used to encrypt the secret.", + "type": "string" + }, + "visibility": { + "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.", + "type": "string", + "enum": [ + "all", + "private", + "selected" + ] + }, + "selected_repository_ids": { + "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`.", + "type": "array", + "items": { + "type": "integer" + } + }, + "auth_type": { + "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.", "type": "string", "enum": [ "token", @@ -28207,7 +31761,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -28243,7 +31798,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -28261,371 +31816,13 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" - } - }, - "required": [ - "registry_type", - "url", - "visibility" - ] - }, - "examples": { - "org-private-registry-with-private-visibility": { - "summary": "Example of a private registry configuration with private visibility", - "value": { - "registry_type": "maven_repository", - "url": "https://maven.pkg.github.com/organization/", - "username": "monalisa", - "replaces_base": true, - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "private" - } - }, - "org-private-registry-with-selected-visibility": { - "summary": "Example of a private registry configuration with selected visibility", - "value": { - "registry_type": "maven_repository", - "url": "https://maven.pkg.github.com/organization/", - "username": "monalisa", - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ] - } - }, - "org-private-registry-with-oidc-azure": { - "summary": "Example of an OIDC private registry configuration using Azure", - "value": { - "registry_type": "docker_registry", - "url": "https://myregistry.azurecr.io", - "auth_type": "oidc_azure", - "visibility": "all", - "tenant_id": "12345678-1234-1234-1234-123456789012", - "client_id": "abcdef01-2345-6789-abcd-ef0123456789" - } - }, - "org-private-registry-with-oidc-cloudsmith": { - "summary": "Example of an OIDC private registry configuration using Cloudsmith", - "value": { - "registry_type": "npm_registry", - "url": "https://npm.cloudsmith.io/my-org/my-repo/", - "auth_type": "oidc_cloudsmith", - "visibility": "all", - "namespace": "my-org", - "service_slug": "my-service-account", - "audience": "https://github.com/my-org" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "The organization private registry configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" - }, - "examples": { - "org-private-registry-with-selected-visibility": { - "$ref": "#/components/examples/org-private-registry-configuration" }, - "org-private-registry-with-private-visibility": { - "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - }, - "422": { - "$ref": "#/components/responses/validation_failed" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - } - }, - "/orgs/{org}/private-registries/public-key": { - "get": { - "summary": "Get private registries public key for an organization", - "description": "\nGets 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.\n\nOAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/get-org-public-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - } - ], - "responses": { - "200": { - "description": "Response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "key_id", - "key" - ], - "properties": { - "key_id": { - "description": "The identifier for the key.", - "type": "string", - "examples": [ - "012345678912345678" - ] - }, - "key": { - "description": "The Base64 encoded public key.", - "type": "string", - "examples": [ - "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" - ] - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/private-registries-public-key" - } - } - } - }, - "headers": { - "Link": { - "$ref": "#/components/headers/link" - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - } - }, - "/orgs/{org}/private-registries/{secret_name}": { - "get": { - "summary": "Get a private registry for an organization", - "description": "\nGet the configuration of a single private registry defined for an organization, omitting its encrypted value.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/get-org-private-registry", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - }, - { - "$ref": "#/components/parameters/secret-name" - } - ], - "responses": { - "200": { - "description": "The specified private registry configuration for the organization", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/org-private-registry-configuration" - }, - "examples": { - "default": { - "$ref": "#/components/examples/org-private-registry-configuration" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - }, - "patch": { - "summary": "Update a private registry for an organization", - "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/update-org-private-registry", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - }, - { - "$ref": "#/components/parameters/secret-name" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "registry_type": { - "description": "The registry type.", - "type": "string", - "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" - ] - }, - "url": { - "description": "The URL of the private registry.", - "type": "string", - "format": "uri" - }, - "username": { - "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.", - "type": [ - "string", - "null" - ] - }, - "replaces_base": { - "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.", - "type": "boolean", - "default": false - }, - "encrypted_value": { - "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.", - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - }, - "key_id": { - "description": "The ID of the key you used to encrypt the secret.", - "type": "string" - }, - "visibility": { - "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.", - "type": "string", - "enum": [ - "all", - "private", - "selected" - ] - }, - "selected_repository_ids": { - "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`.", - "type": "array", - "items": { - "type": "integer" - } - }, - "auth_type": { - "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.", - "type": "string", - "enum": [ - "token", - "username_password", - "oidc_azure", - "oidc_aws", - "oidc_jfrog", - "oidc_cloudsmith" - ] - }, - "tenant_id": { - "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", "type": "string" }, - "client_id": { - "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", - "type": "string" - }, - "aws_region": { - "description": "The AWS region. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "account_id": { - "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "role_name": { - "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "domain": { - "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "domain_owner": { - "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "jfrog_oidc_provider_name": { - "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.", - "type": "string" - }, - "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", - "type": "string" - }, - "identity_mapping_name": { - "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.", - "type": "string" - }, - "namespace": { - "description": "The Cloudsmith organization namespace. Required when `auth_type` is `oidc_cloudsmith`.", - "type": "string" - }, - "service_slug": { - "description": "The Cloudsmith service account slug. Required when `auth_type` is `oidc_cloudsmith`.", - "type": "string" - }, - "api_host": { - "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", "type": "string" } } @@ -31818,6 +35015,9 @@ }, { "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + }, + { + "$ref": "#/components/parameters/secret-scanning-alert-bypassed" } ], "responses": { @@ -35242,6 +38442,139 @@ } } }, + "/repos/{owner}/{repo}/actions/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a repository", + "description": "Lists the active concurrency groups for a repository.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/per-page" + }, + { + "$ref": "#/components/parameters/pagination-after" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group-list" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group-list" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": { + "get": { + "summary": "Get a concurrency group for a repository", + "description": "Gets a specific concurrency group for a repository, including all instances in the group's queue.\nReturns 404 if the group is inactive or does not exist.\n\nOptionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items\nahead of the specified workflow run or job in the queue, plus the specified item itself\n(returned as the last element). This is useful for determining what is blocking a particular\nrun or job. Returns 422 if the specified run or job is not in this concurrency group.\n\nWhen using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow\nleases held on behalf of that run. Job-level leases within the run are not considered to\nblock the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow\nleases on the job's ancestor paths.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/get-concurrency-group-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/concurrency-group-name" + }, + { + "name": "ahead_of_run", + "description": "Filter to items ahead of this workflow run ID in the queue, plus the run itself.\nMatches workflow-level concurrency and reusable-workflow leases held on behalf of\nthe run. Mutually exclusive with `ahead_of_job`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "ahead_of_job", + "description": "Filter to items ahead of this job ID in the queue, plus the job itself.\nMatches job-level concurrency and reusable-workflow leases on the job's\nancestor paths. Mutually exclusive with `ahead_of_run`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, "/repos/{owner}/{repo}/actions/jobs/{job_id}": { "get": { "summary": "Get a job for a workflow run", @@ -37655,6 +40988,74 @@ } } }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a workflow run", + "description": "Lists all concurrency groups associated with a workflow run or its jobs.\n\nThe set of groups is derived from the run's configuration, so a group is\nincluded even when the run no longer has any items currently holding or\nwaiting in it. In that case the `group_members` array will be empty.\n`total_count` reflects the number of groups the run participates in by\nconfiguration, not the number with active items.\n\nThis differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`,\nwhich returns 404 when a group has no active items. That endpoint reports\nthe live state of a group repo-wide, while this endpoint reports the\ngroups associated with a specific run by configuration.\n\nResults are sorted by group name and support cursor-based pagination via\n`before` and `after`. The `after` cursor paginates forward only and does\nnot emit a `rel=\"prev\"` Link; use `before` to page backward from a\nforward page's `next` cursor.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/run-id" + }, + { + "$ref": "#/components/parameters/per-page" + }, + { + "$ref": "#/components/parameters/pagination-before" + }, + { + "$ref": "#/components/parameters/pagination-after" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group-run-list" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group-run-list" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { "post": { "summary": "Review custom deployment protection rules for a workflow run", @@ -66460,6 +69861,9 @@ }, { "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + }, + { + "$ref": "#/components/parameters/secret-scanning-alert-bypassed" } ], "responses": { @@ -123473,7 +126877,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -123558,6 +126963,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -123616,7 +127029,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -123705,6 +127119,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -130867,6 +134289,144 @@ "actions_caches" ] }, + "concurrency-group-list": { + "title": "Concurrency Group List", + "description": "A list of active concurrency groups for a repository.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "last_acquired_at" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "last_acquired_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + } + } + }, + "concurrency-group": { + "title": "Concurrency Group", + "description": "A concurrency group with the workflow runs and jobs that are either currently holding\nor waiting for the concurrency group lease.", + "type": "object", + "required": [ + "group_name", + "group_url", + "total_count", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "total_count": { + "type": "integer" + }, + "group_members": { + "type": "array", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "job_id": { + "type": "integer", + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": "string", + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + }, "job": { "title": "Job", "description": "Information of a job execution in a workflow run", @@ -131798,6 +135358,131 @@ "comment" ] }, + "concurrency-group-run-list": { + "title": "Concurrency Group Run List", + "description": "A list of concurrency groups associated with a workflow run.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer", + "description": "The total number of concurrency groups this workflow run participates in,\nderived from the run's configuration. This count is not filtered by\nwhether the run currently holds or is waiting in each group, so it can\ninclude groups whose `group_members` array is empty (for example, when\nthe run has already released its lease in that group)." + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group. May return 404 if the group\nhas no active items at the time it is requested, since the\nget-by-name endpoint reports the live repo-wide state of a group\nwhile this endpoint lists groups associated with a run by\nconfiguration." + }, + "group_members": { + "type": "array", + "description": "Items belonging to this workflow run that are either currently holding or\nwaiting for the concurrency group lease. May be empty if the run no\nlonger has any active or queued items in this group.", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status", + "position", + "position_url" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "position": { + "type": "integer", + "description": "Queue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending)." + }, + "position_url": { + "type": "string", + "format": "uri", + "description": "API URL to get items ahead of this item in the concurrency group." + }, + "job_id": { + "type": [ + "integer", + "null" + ], + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": [ + "string", + "null" + ], + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + } + } + } + }, "review-custom-gates-comment-required": { "type": "object", "properties": { @@ -312472,6 +316157,57 @@ ] } }, + "concurrency-group-list": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "last_acquired_at": "2026-01-15T16:14:23Z" + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "last_acquired_at": "2026-01-15T16:13:55Z" + } + ] + } + }, + "concurrency-group": { + "value": { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "total_count": 3, + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress" + }, + { + "run_id": 30433643, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", + "status": "pending" + }, + { + "run_id": 30433644, + "run_name": "Deploy hotfix", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", + "job_id": 798245260, + "job_name": "deploy", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", + "status": "pending" + } + ] + } + }, "job": { "value": { "id": 399444496, @@ -313260,6 +316996,47 @@ ] } }, + "concurrency-group-run-list": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress", + "position": 0, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" + } + ] + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "pending", + "position": 2, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", + "job_id": 798245260, + "job_name": "build", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" + } + ] + } + ] + } + }, "pending-deployment-items": { "value": [ { @@ -333273,6 +337050,15 @@ "default": false } }, + "secret-scanning-alert-bypassed": { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } + }, "network-configuration-id": { "name": "network_configuration_id", "description": "Unique identifier of the hosted compute network configuration.", @@ -333406,6 +337192,15 @@ "type": "integer" } }, + "concurrency-group-name": { + "name": "concurrency_group_name", + "description": "The name of the concurrency group.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, "job-id": { "name": "job_id", "description": "The unique identifier of the job.", diff --git a/descriptions-next/api.github.com/api.github.com.2022-11-28.yaml b/descriptions-next/api.github.com/api.github.com.2022-11-28.yaml index 3901c917c6..b031332128 100644 --- a/descriptions-next/api.github.com/api.github.com.2022-11-28.yaml +++ b/descriptions-next/api.github.com/api.github.com.2022-11-28.yaml @@ -343,6 +343,2530 @@ paths: enabledForGitHubApps: true category: security-advisories subcategory: global-advisories + "/agents/repos/{owner}/{repo}/tasks": + get: + summary: List tasks for repository + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for a specific repository + + **Fine-grained access tokens for "List tasks for repository"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks-for-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + - name: creator_id + in: query + schema: + type: integer + description: Filter tasks by creator user ID + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="prev" (when current page > 1), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; + rel="next", ; + rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + post: + summary: Start a task + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Starts a new Copilot cloud agent task for a repository. + + This endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription. + + **Fine-grained access tokens for "Start a task"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read and write) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/create-task-in-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + requestBody: + required: true + description: The task creation parameters, including the user's prompt and + optional agent settings. + content: + application/json: + schema: + type: object + required: + - prompt + properties: + prompt: + type: string + description: The user's prompt for the agent + model: + type: string + description: 'The model to use for this task. The allowed models + may change over time and depend on the user''s GitHub Copilot + plan and organization policies. Currently supported values: `claude-sonnet-4.6`, + `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, + `claude-sonnet-4.5`, `claude-opus-4.5`' + create_pull_request: + type: boolean + description: Whether to create a PR. + default: false + base_ref: + type: string + description: Base ref for new branch/PR + examples: + default: + value: + prompt: Fix the login button on the homepage + base_ref: main + responses: + '201': + description: Task created successfully + content: + application/json: + schema: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + artifacts: [] + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '400': + description: Problems parsing JSON + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/repos/{owner}/{repo}/tasks/{task_id}": + get: + summary: Get a task by repo + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID scoped to an owner/repo path + + **Fine-grained access tokens for "Get a task by repo"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-repo-and-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks": + get: + summary: List tasks + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for the authenticated user + + **Fine-grained access tokens for "List tasks"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; rel="next", + ; rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks/{task_id}": + get: + summary: Get a task by ID + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID with its associated sessions + + **Fine-grained access tokens for "Get a task by ID"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Problems parsing request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation "/app": get: summary: Get the authenticated app @@ -10653,6 +13177,10 @@ paths: 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. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records @@ -10695,24 +13223,18 @@ paths: properties: name: type: string - description: | - The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name parameter must also be identical across all entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: | - The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name and version parameters must also be identical across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: "^sha256:[a-f0-9]{64}$" version: type: string - description: | - The artifact version. Note that if multiple deployments have identical 'digest' parameter values, - the version parameter must also be identical across all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true examples: @@ -20490,7 +23012,7 @@ paths: description: |2- 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`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. tags: @@ -20584,7 +23106,335 @@ paths: auth_type: description: The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, - or `oidc_cloudsmith` for OIDC authentication. + `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication. + type: string + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + tenant_id: + description: The tenant ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + client_id: + description: The client ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + aws_region: + description: The AWS region. Required when `auth_type` is `oidc_aws`. + type: string + account_id: + description: The AWS account ID. Required when `auth_type` is `oidc_aws`. + type: string + role_name: + description: The AWS IAM role name. Required when `auth_type` is + `oidc_aws`. + type: string + domain: + description: The CodeArtifact domain. Required when `auth_type` + is `oidc_aws`. + type: string + domain_owner: + description: The CodeArtifact domain owner (AWS account ID). Required + when `auth_type` is `oidc_aws`. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. Required when `auth_type` + is `oidc_jfrog`. + type: string + audience: + description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. Optional for `oidc_jfrog` + auth type. + type: string + namespace: + description: The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: The Cloudsmith API host. Optional for `oidc_cloudsmith` + auth type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). + type: string + required: + - registry_type + - url + - visibility + examples: + org-private-registry-with-private-visibility: + summary: Example of a private registry configuration with private + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + replaces_base: true + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: private + org-private-registry-with-selected-visibility: + summary: Example of a private registry configuration with selected + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + org-private-registry-with-oidc-azure: + summary: Example of an OIDC private registry configuration using Azure + value: + registry_type: docker_registry + url: https://myregistry.azurecr.io + auth_type: oidc_azure + visibility: all + tenant_id: 12345678-1234-1234-1234-123456789012 + client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: Example of an OIDC private registry configuration using Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com + responses: + '201': + description: The organization private registry configuration + content: + application/json: + schema: + "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" + examples: + org-private-registry-with-selected-visibility: + "$ref": "#/components/examples/org-private-registry-configuration" + org-private-registry-with-private-visibility: + "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/public-key": + get: + summary: Get private registries public key for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-public-key + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - key_id + - key + properties: + key_id: + description: The identifier for the key. + type: string + examples: + - '012345678912345678' + key: + description: The Base64 encoded public key. + type: string + examples: + - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + examples: + default: + "$ref": "#/components/examples/private-registries-public-key" + headers: + Link: + "$ref": "#/components/headers/link" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/{secret_name}": + get: + summary: Get a private registry for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/secret-name" + responses: + '200': + description: The specified private registry configuration for the organization + content: + application/json: + schema: + "$ref": "#/components/schemas/org-private-registry-configuration" + examples: + default: + "$ref": "#/components/examples/org-private-registry-configuration" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + patch: + summary: Update a private registry for an organization + description: |2- + + 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`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. + tags: + - private-registries + operationId: private-registries/update-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/secret-name" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + registry_type: + description: The registry type. + type: string + 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 + url: + description: The URL of the private registry. + type: string + format: uri + username: + 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. + type: + - string + - 'null' + replaces_base: + 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. + type: boolean + default: false + encrypted_value: + 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. + type: string + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + key_id: + description: The ID of the key you used to encrypt the secret. + type: string + visibility: + 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. + type: string + enum: + - all + - private + - selected + selected_repository_ids: + 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`. + type: array + items: + type: integer + auth_type: + 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. type: string enum: - token @@ -20593,6 +23443,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp tenant_id: description: The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`. @@ -20625,7 +23476,7 @@ paths: type: string audience: description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. type: string identity_mapping_name: description: The JFrog identity mapping name. Optional for `oidc_jfrog` @@ -20643,312 +23494,15 @@ paths: description: The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default. type: string - required: - - registry_type - - url - - visibility - examples: - org-private-registry-with-private-visibility: - summary: Example of a private registry configuration with private - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - replaces_base: true - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: private - org-private-registry-with-selected-visibility: - summary: Example of a private registry configuration with selected - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - org-private-registry-with-oidc-azure: - summary: Example of an OIDC private registry configuration using Azure - value: - registry_type: docker_registry - url: https://myregistry.azurecr.io - auth_type: oidc_azure - visibility: all - tenant_id: 12345678-1234-1234-1234-123456789012 - client_id: abcdef01-2345-6789-abcd-ef0123456789 - org-private-registry-with-oidc-cloudsmith: - summary: Example of an OIDC private registry configuration using Cloudsmith - value: - registry_type: npm_registry - url: https://npm.cloudsmith.io/my-org/my-repo/ - auth_type: oidc_cloudsmith - visibility: all - namespace: my-org - service_slug: my-service-account - audience: https://github.com/my-org - responses: - '201': - description: The organization private registry configuration - content: - application/json: - schema: - "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" - examples: - org-private-registry-with-selected-visibility: - "$ref": "#/components/examples/org-private-registry-configuration" - org-private-registry-with-private-visibility: - "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" - '404': - "$ref": "#/components/responses/not_found" - '422': - "$ref": "#/components/responses/validation_failed" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/public-key": - get: - summary: Get private registries public key for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-public-key - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - responses: - '200': - description: Response - content: - application/json: - schema: - type: object - required: - - key_id - - key - properties: - key_id: - description: The identifier for the key. - type: string - examples: - - '012345678912345678' - key: - description: The Base64 encoded public key. - type: string - examples: - - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - examples: - default: - "$ref": "#/components/examples/private-registries-public-key" - headers: - Link: - "$ref": "#/components/headers/link" - '404': - "$ref": "#/components/responses/not_found" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/{secret_name}": - get: - summary: Get a private registry for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - - "$ref": "#/components/parameters/secret-name" - responses: - '200': - description: The specified private registry configuration for the organization - content: - application/json: - schema: - "$ref": "#/components/schemas/org-private-registry-configuration" - examples: - default: - "$ref": "#/components/examples/org-private-registry-configuration" - '404': - "$ref": "#/components/responses/not_found" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - patch: - summary: Update a private registry for an organization - description: |2- - - 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`, `oidc_jfrog`, or `oidc_cloudsmith`), 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. - tags: - - private-registries - operationId: private-registries/update-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - - "$ref": "#/components/parameters/secret-name" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - registry_type: - description: The registry type. + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. type: string - 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 - url: - description: The URL of the private registry. - type: string - format: uri - username: - 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. - type: - - string - - 'null' - replaces_base: - 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. - type: boolean - default: false - encrypted_value: - 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. - type: string - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - key_id: - description: The ID of the key you used to encrypt the secret. - type: string - visibility: - 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. - type: string - enum: - - all - - private - - selected - selected_repository_ids: - 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`. - type: array - items: - type: integer - auth_type: - 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. - type: string - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - tenant_id: - description: The tenant ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - client_id: - description: The client ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - aws_region: - description: The AWS region. Required when `auth_type` is `oidc_aws`. - type: string - account_id: - description: The AWS account ID. Required when `auth_type` is `oidc_aws`. - type: string - role_name: - description: The AWS IAM role name. Required when `auth_type` is - `oidc_aws`. - type: string - domain: - description: The CodeArtifact domain. Required when `auth_type` - is `oidc_aws`. - type: string - domain_owner: - description: The CodeArtifact domain owner (AWS account ID). Required - when `auth_type` is `oidc_aws`. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. Required when `auth_type` - is `oidc_jfrog`. - type: string - audience: - description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. Optional for `oidc_jfrog` - auth type. - type: string - namespace: - description: The Cloudsmith organization namespace. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - service_slug: - description: The Cloudsmith service account slug. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - api_host: - description: The Cloudsmith API host. Optional for `oidc_cloudsmith` - auth type. If omitted, `api.cloudsmith.io` is used by default. + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). type: string examples: secret-based-update: @@ -23142,6 +25696,7 @@ paths: - "$ref": "#/components/parameters/secret-scanning-alert-publicly-leaked" - "$ref": "#/components/parameters/secret-scanning-alert-multi-repo" - "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + - "$ref": "#/components/parameters/secret-scanning-alert-bypassed" responses: '200': description: Response @@ -25733,6 +28288,111 @@ paths: enabledForGitHubApps: true category: actions subcategory: cache + "/repos/{owner}/{repo}/actions/concurrency_groups": + get: + summary: List concurrency groups for a repository + description: |- + Lists the active concurrency groups for a repository. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/pagination-after" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group-list" + examples: + default: + "$ref": "#/components/examples/concurrency-group-list" + headers: + Link: + "$ref": "#/components/headers/link" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": + get: + summary: Get a concurrency group for a repository + description: |- + Gets a specific concurrency group for a repository, including all instances in the group's queue. + Returns 404 if the group is inactive or does not exist. + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items + ahead of the specified workflow run or job in the queue, plus the specified item itself + (returned as the last element). This is useful for determining what is blocking a particular + run or job. Returns 422 if the specified run or job is not in this concurrency group. + + When using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow + leases held on behalf of that run. Job-level leases within the run are not considered to + block the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow + leases on the job's ancestor paths. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/concurrency-group-name" + - name: ahead_of_run + description: |- + Filter to items ahead of this workflow run ID in the queue, plus the run itself. + Matches workflow-level concurrency and reusable-workflow leases held on behalf of + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: |- + Filter to items ahead of this job ID in the queue, plus the job itself. + Matches job-level concurrency and reusable-workflow leases on the job's + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group" + examples: + default: + "$ref": "#/components/examples/concurrency-group" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/jobs/{job_id}": get: summary: Get a job for a workflow run @@ -27435,6 +30095,64 @@ paths: enabledForGitHubApps: true category: actions subcategory: workflow-runs + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": + get: + summary: List concurrency groups for a workflow run + description: |- + Lists all concurrency groups associated with a workflow run or its jobs. + + The set of groups is derived from the run's configuration, so a group is + included even when the run no longer has any items currently holding or + waiting in it. In that case the `group_members` array will be empty. + `total_count` reflects the number of groups the run participates in by + configuration, not the number with active items. + + This differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + which returns 404 when a group has no active items. That endpoint reports + the live state of a group repo-wide, while this endpoint reports the + groups associated with a specific run by configuration. + + Results are sorted by group name and support cursor-based pagination via + `before` and `after`. The `after` cursor paginates forward only and does + not emit a `rel="prev"` Link; use `before` to page backward from a + forward page's `next` cursor. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/run-id" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/pagination-before" + - "$ref": "#/components/parameters/pagination-after" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group-run-list" + examples: + default: + "$ref": "#/components/examples/concurrency-group-run-list" + headers: + Link: + "$ref": "#/components/headers/link" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": post: summary: Review custom deployment protection rules for a workflow run @@ -48335,6 +51053,7 @@ paths: - "$ref": "#/components/parameters/secret-scanning-alert-publicly-leaked" - "$ref": "#/components/parameters/secret-scanning-alert-multi-repo" - "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + - "$ref": "#/components/parameters/secret-scanning-alert-bypassed" responses: '200': description: Response @@ -89719,6 +92438,7 @@ components: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -89786,6 +92506,14 @@ components: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity Provider + (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -89836,6 +92564,7 @@ components: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -89908,6 +92637,14 @@ components: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity Provider + (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -95139,6 +97876,112 @@ components: required: - total_count - actions_caches + concurrency-group-list: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: + - string + - 'null' + format: date-time + concurrency-group: + title: Concurrency Group + description: |- + A concurrency group with the workflow runs and jobs that are either currently holding + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + job_id: + type: integer + description: The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + job_name: + type: string + description: The display name of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending job: title: Job description: Information of a job execution in a workflow run @@ -95842,6 +98685,116 @@ components: - state - user - comment + concurrency-group-run-list: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: |- + The total number of concurrency groups this workflow run participates in, + derived from the run's configuration. This count is not filtered by + whether the run currently holds or is waiting in each group, so it can + include groups whose `group_members` array is empty (for example, when + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: |- + API URL for this concurrency group. May return 404 if the group + has no active items at the time it is requested, since the + get-by-name endpoint reports the live repo-wide state of a group + while this endpoint lists groups associated with a run by + configuration. + group_members: + type: array + description: |- + Items belonging to this workflow run that are either currently holding or + waiting for the concurrency group lease. May be empty if the run no + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + position: + type: integer + description: Queue position. 0 means the item holds the concurrency + lease (in_progress), 1 or higher means queued (pending). + position_url: + type: string + format: uri + description: API URL to get items ahead of this item in the + concurrency group. + job_id: + type: + - integer + - 'null' + description: The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + job_name: + type: + - string + - 'null' + description: The display name of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending review-custom-gates-comment-required: type: object properties: @@ -231365,6 +234318,41 @@ components: last_accessed_at: '2019-01-24T22:45:36.000Z' created_at: '2019-01-24T22:45:36.000Z' size_in_bytes: 1024 + concurrency-group-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + concurrency-group: + value: + group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending job: value: id: 399444496 @@ -232041,6 +235029,34 @@ components: runner_group_name: my runner group workflow_name: CI head_branch: main + concurrency-group-run-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 pending-deployment-items: value: - environment: @@ -249351,6 +252367,17 @@ components: schema: type: boolean default: false + secret-scanning-alert-bypassed: + name: is_bypassed + in: query + description: A boolean value (`true` or `false`) indicating whether to filter + alerts by their push protection bypass status. When set to `true`, only alerts + that were created because a push protection rule was bypassed will be returned. + When set to `false`, only alerts that were not caused by a push protection + bypass will be returned. + required: false + schema: + type: boolean network-configuration-id: name: network_configuration_id description: Unique identifier of the hosted compute network configuration. @@ -249466,6 +252493,13 @@ components: required: true schema: type: integer + concurrency-group-name: + name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string job-id: name: job_id description: The unique identifier of the job. diff --git a/descriptions-next/api.github.com/api.github.com.2026-03-10.json b/descriptions-next/api.github.com/api.github.com.2026-03-10.json index 30dfb1c042..77fc1ecf17 100644 --- a/descriptions-next/api.github.com/api.github.com.2026-03-10.json +++ b/descriptions-next/api.github.com/api.github.com.2026-03-10.json @@ -530,6 +530,3174 @@ } } }, + "/agents/repos/{owner}/{repo}/tasks": { + "get": { + "summary": "List tasks for repository", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for a specific repository\n\n**Fine-grained access tokens for \"List tasks for repository\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + }, + { + "name": "creator_id", + "in": "query", + "schema": { + "type": "integer" + }, + "description": "Filter tasks by creator user ID" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"prev\" (when current page > 1),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Start a task", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nStarts a new Copilot cloud agent task for a repository.\n\nThis endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription.\n\n**Fine-grained access tokens for \"Start a task\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read and write)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/create-task-in-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + } + ], + "requestBody": { + "required": true, + "description": "The task creation parameters, including the user's prompt and optional agent settings.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The user's prompt for the agent" + }, + "model": { + "type": "string", + "description": "The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5`" + }, + "create_pull_request": { + "type": "boolean", + "description": "Whether to create a PR.", + "default": false + }, + "base_ref": { + "type": "string", + "description": "Base ref for new branch/PR" + } + } + }, + "examples": { + "default": { + "value": { + "prompt": "Fix the login button on the homepage", + "base_ref": "main" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Task created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "queued", + "session_count": 1, + "artifacts": [], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + } + } + } + } + } + }, + "400": { + "description": "Problems parsing JSON", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/repos/{owner}/{repo}/tasks/{task_id}": { + "get": { + "summary": "Get a task by repo", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID scoped to an owner/repo path\n\n**Fine-grained access tokens for \"Get a task by repo\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-repo-and-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks": { + "get": { + "summary": "List tasks", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for the authenticated user\n\n**Fine-grained access tokens for \"List tasks\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks/{task_id}": { + "get": { + "summary": "Get a task by ID", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID with its associated sessions\n\n**Fine-grained access tokens for \"Get a task by ID\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Problems parsing request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, "/app": { "get": { "summary": "Get the authenticated app", @@ -14725,7 +17893,7 @@ "/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}": { "post": { "summary": "Set cluster deployment records", - "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.", + "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.\nNote: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments\narray resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use\nthe artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can\nonly have one name and version.", "tags": [ "orgs" ], @@ -14778,20 +17946,20 @@ "properties": { "name": { "type": "string", - "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", + "description": "The name of the artifact.", "minLength": 1, "maxLength": 256 }, "digest": { "type": "string", - "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", + "description": "The hex encoded digest of the artifact.", "minLength": 71, "maxLength": 71, "pattern": "^sha256:[a-f0-9]{64}$" }, "version": { "type": "string", - "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", + "description": "The artifact version.", "maxLength": 100, "x-multi-segment": true, "examples": [ @@ -28071,7 +31239,7 @@ }, "post": { "summary": "Create a private registry for an organization", - "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -28156,7 +31324,393 @@ } }, "auth_type": { - "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith` for OIDC authentication.", + "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication.", + "type": "string", + "enum": [ + "token", + "username_password", + "oidc_azure", + "oidc_aws", + "oidc_jfrog", + "oidc_cloudsmith", + "oidc_gcp" + ] + }, + "tenant_id": { + "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "type": "string" + }, + "aws_region": { + "description": "The AWS region. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "account_id": { + "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "role_name": { + "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "domain": { + "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "domain_owner": { + "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "jfrog_oidc_provider_name": { + "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.", + "type": "string" + }, + "audience": { + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", + "type": "string" + }, + "identity_mapping_name": { + "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.", + "type": "string" + }, + "namespace": { + "description": "The Cloudsmith organization namespace. Required when `auth_type` is `oidc_cloudsmith`.", + "type": "string" + }, + "service_slug": { + "description": "The Cloudsmith service account slug. Required when `auth_type` is `oidc_cloudsmith`.", + "type": "string" + }, + "api_host": { + "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", + "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + } + }, + "required": [ + "registry_type", + "url", + "visibility" + ] + }, + "examples": { + "org-private-registry-with-private-visibility": { + "summary": "Example of a private registry configuration with private visibility", + "value": { + "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", + "username": "monalisa", + "replaces_base": true, + "encrypted_value": "c2VjcmV0", + "key_id": "012345678912345678", + "visibility": "private" + } + }, + "org-private-registry-with-selected-visibility": { + "summary": "Example of a private registry configuration with selected visibility", + "value": { + "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", + "username": "monalisa", + "encrypted_value": "c2VjcmV0", + "key_id": "012345678912345678", + "visibility": "selected", + "selected_repository_ids": [ + 1296269, + 1296280 + ] + } + }, + "org-private-registry-with-oidc-azure": { + "summary": "Example of an OIDC private registry configuration using Azure", + "value": { + "registry_type": "docker_registry", + "url": "https://myregistry.azurecr.io", + "auth_type": "oidc_azure", + "visibility": "all", + "tenant_id": "12345678-1234-1234-1234-123456789012", + "client_id": "abcdef01-2345-6789-abcd-ef0123456789" + } + }, + "org-private-registry-with-oidc-cloudsmith": { + "summary": "Example of an OIDC private registry configuration using Cloudsmith", + "value": { + "registry_type": "npm_registry", + "url": "https://npm.cloudsmith.io/my-org/my-repo/", + "auth_type": "oidc_cloudsmith", + "visibility": "all", + "namespace": "my-org", + "service_slug": "my-service-account", + "audience": "https://github.com/my-org" + } + }, + "org-private-registry-with-oidc-gcp": { + "summary": "Example of an OIDC private registry configuration using Google Cloud Artifact Registry", + "value": { + "registry_type": "docker_registry", + "url": "https://us-docker.pkg.dev/my-project/my-repo", + "auth_type": "oidc_gcp", + "visibility": "all", + "workload_identity_provider": "projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider", + "service_account": "dependabot@my-project.iam.gserviceaccount.com" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "The organization private registry configuration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" + }, + "examples": { + "org-private-registry-with-selected-visibility": { + "$ref": "#/components/examples/org-private-registry-configuration" + }, + "org-private-registry-with-private-visibility": { + "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + } + }, + "/orgs/{org}/private-registries/public-key": { + "get": { + "summary": "Get private registries public key for an organization", + "description": "\nGets 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.\n\nOAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/get-org-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "key_id", + "key" + ], + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "examples": [ + "012345678912345678" + ] + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "examples": [ + "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + ] + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/private-registries-public-key" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + } + }, + "/orgs/{org}/private-registries/{secret_name}": { + "get": { + "summary": "Get a private registry for an organization", + "description": "\nGet the configuration of a single private registry defined for an organization, omitting its encrypted value.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/get-org-private-registry", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + }, + { + "$ref": "#/components/parameters/secret-name" + } + ], + "responses": { + "200": { + "description": "The specified private registry configuration for the organization", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/org-private-registry-configuration" + }, + "examples": { + "default": { + "$ref": "#/components/examples/org-private-registry-configuration" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + }, + "patch": { + "summary": "Update a private registry for an organization", + "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/update-org-private-registry", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + }, + { + "$ref": "#/components/parameters/secret-name" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "registry_type": { + "description": "The registry type.", + "type": "string", + "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" + ] + }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, + "username": { + "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.", + "type": [ + "string", + "null" + ] + }, + "replaces_base": { + "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.", + "type": "boolean", + "default": false + }, + "encrypted_value": { + "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.", + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + }, + "key_id": { + "description": "The ID of the key you used to encrypt the secret.", + "type": "string" + }, + "visibility": { + "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.", + "type": "string", + "enum": [ + "all", + "private", + "selected" + ] + }, + "selected_repository_ids": { + "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`.", + "type": "array", + "items": { + "type": "integer" + } + }, + "auth_type": { + "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.", "type": "string", "enum": [ "token", @@ -28164,7 +31718,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -28200,7 +31755,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -28218,371 +31773,13 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" - } - }, - "required": [ - "registry_type", - "url", - "visibility" - ] - }, - "examples": { - "org-private-registry-with-private-visibility": { - "summary": "Example of a private registry configuration with private visibility", - "value": { - "registry_type": "maven_repository", - "url": "https://maven.pkg.github.com/organization/", - "username": "monalisa", - "replaces_base": true, - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "private" - } - }, - "org-private-registry-with-selected-visibility": { - "summary": "Example of a private registry configuration with selected visibility", - "value": { - "registry_type": "maven_repository", - "url": "https://maven.pkg.github.com/organization/", - "username": "monalisa", - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ] - } - }, - "org-private-registry-with-oidc-azure": { - "summary": "Example of an OIDC private registry configuration using Azure", - "value": { - "registry_type": "docker_registry", - "url": "https://myregistry.azurecr.io", - "auth_type": "oidc_azure", - "visibility": "all", - "tenant_id": "12345678-1234-1234-1234-123456789012", - "client_id": "abcdef01-2345-6789-abcd-ef0123456789" - } - }, - "org-private-registry-with-oidc-cloudsmith": { - "summary": "Example of an OIDC private registry configuration using Cloudsmith", - "value": { - "registry_type": "npm_registry", - "url": "https://npm.cloudsmith.io/my-org/my-repo/", - "auth_type": "oidc_cloudsmith", - "visibility": "all", - "namespace": "my-org", - "service_slug": "my-service-account", - "audience": "https://github.com/my-org" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "The organization private registry configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" - }, - "examples": { - "org-private-registry-with-selected-visibility": { - "$ref": "#/components/examples/org-private-registry-configuration" }, - "org-private-registry-with-private-visibility": { - "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - }, - "422": { - "$ref": "#/components/responses/validation_failed" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - } - }, - "/orgs/{org}/private-registries/public-key": { - "get": { - "summary": "Get private registries public key for an organization", - "description": "\nGets 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.\n\nOAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/get-org-public-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - } - ], - "responses": { - "200": { - "description": "Response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "key_id", - "key" - ], - "properties": { - "key_id": { - "description": "The identifier for the key.", - "type": "string", - "examples": [ - "012345678912345678" - ] - }, - "key": { - "description": "The Base64 encoded public key.", - "type": "string", - "examples": [ - "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" - ] - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/private-registries-public-key" - } - } - } - }, - "headers": { - "Link": { - "$ref": "#/components/headers/link" - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - } - }, - "/orgs/{org}/private-registries/{secret_name}": { - "get": { - "summary": "Get a private registry for an organization", - "description": "\nGet the configuration of a single private registry defined for an organization, omitting its encrypted value.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/get-org-private-registry", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - }, - { - "$ref": "#/components/parameters/secret-name" - } - ], - "responses": { - "200": { - "description": "The specified private registry configuration for the organization", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/org-private-registry-configuration" - }, - "examples": { - "default": { - "$ref": "#/components/examples/org-private-registry-configuration" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - }, - "patch": { - "summary": "Update a private registry for an organization", - "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/update-org-private-registry", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - }, - { - "$ref": "#/components/parameters/secret-name" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "registry_type": { - "description": "The registry type.", - "type": "string", - "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" - ] - }, - "url": { - "description": "The URL of the private registry.", - "type": "string", - "format": "uri" - }, - "username": { - "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.", - "type": [ - "string", - "null" - ] - }, - "replaces_base": { - "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.", - "type": "boolean", - "default": false - }, - "encrypted_value": { - "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.", - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - }, - "key_id": { - "description": "The ID of the key you used to encrypt the secret.", - "type": "string" - }, - "visibility": { - "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.", - "type": "string", - "enum": [ - "all", - "private", - "selected" - ] - }, - "selected_repository_ids": { - "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`.", - "type": "array", - "items": { - "type": "integer" - } - }, - "auth_type": { - "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.", - "type": "string", - "enum": [ - "token", - "username_password", - "oidc_azure", - "oidc_aws", - "oidc_jfrog", - "oidc_cloudsmith" - ] - }, - "tenant_id": { - "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", "type": "string" }, - "client_id": { - "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", - "type": "string" - }, - "aws_region": { - "description": "The AWS region. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "account_id": { - "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "role_name": { - "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "domain": { - "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "domain_owner": { - "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "jfrog_oidc_provider_name": { - "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.", - "type": "string" - }, - "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", - "type": "string" - }, - "identity_mapping_name": { - "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.", - "type": "string" - }, - "namespace": { - "description": "The Cloudsmith organization namespace. Required when `auth_type` is `oidc_cloudsmith`.", - "type": "string" - }, - "service_slug": { - "description": "The Cloudsmith service account slug. Required when `auth_type` is `oidc_cloudsmith`.", - "type": "string" - }, - "api_host": { - "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", "type": "string" } } @@ -31778,6 +34975,9 @@ }, { "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + }, + { + "$ref": "#/components/parameters/secret-scanning-alert-bypassed" } ], "responses": { @@ -35193,6 +38393,139 @@ } } }, + "/repos/{owner}/{repo}/actions/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a repository", + "description": "Lists the active concurrency groups for a repository.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/per-page" + }, + { + "$ref": "#/components/parameters/pagination-after" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group-list" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group-list" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": { + "get": { + "summary": "Get a concurrency group for a repository", + "description": "Gets a specific concurrency group for a repository, including all instances in the group's queue.\nReturns 404 if the group is inactive or does not exist.\n\nOptionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items\nahead of the specified workflow run or job in the queue, plus the specified item itself\n(returned as the last element). This is useful for determining what is blocking a particular\nrun or job. Returns 422 if the specified run or job is not in this concurrency group.\n\nWhen using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow\nleases held on behalf of that run. Job-level leases within the run are not considered to\nblock the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow\nleases on the job's ancestor paths.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/get-concurrency-group-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/concurrency-group-name" + }, + { + "name": "ahead_of_run", + "description": "Filter to items ahead of this workflow run ID in the queue, plus the run itself.\nMatches workflow-level concurrency and reusable-workflow leases held on behalf of\nthe run. Mutually exclusive with `ahead_of_job`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "ahead_of_job", + "description": "Filter to items ahead of this job ID in the queue, plus the job itself.\nMatches job-level concurrency and reusable-workflow leases on the job's\nancestor paths. Mutually exclusive with `ahead_of_run`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, "/repos/{owner}/{repo}/actions/jobs/{job_id}": { "get": { "summary": "Get a job for a workflow run", @@ -37606,6 +40939,74 @@ } } }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a workflow run", + "description": "Lists all concurrency groups associated with a workflow run or its jobs.\n\nThe set of groups is derived from the run's configuration, so a group is\nincluded even when the run no longer has any items currently holding or\nwaiting in it. In that case the `group_members` array will be empty.\n`total_count` reflects the number of groups the run participates in by\nconfiguration, not the number with active items.\n\nThis differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`,\nwhich returns 404 when a group has no active items. That endpoint reports\nthe live state of a group repo-wide, while this endpoint reports the\ngroups associated with a specific run by configuration.\n\nResults are sorted by group name and support cursor-based pagination via\n`before` and `after`. The `after` cursor paginates forward only and does\nnot emit a `rel=\"prev\"` Link; use `before` to page backward from a\nforward page's `next` cursor.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/run-id" + }, + { + "$ref": "#/components/parameters/per-page" + }, + { + "$ref": "#/components/parameters/pagination-before" + }, + { + "$ref": "#/components/parameters/pagination-after" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group-run-list" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group-run-list" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { "post": { "summary": "Review custom deployment protection rules for a workflow run", @@ -66371,6 +69772,9 @@ }, { "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + }, + { + "$ref": "#/components/parameters/secret-scanning-alert-bypassed" } ], "responses": { @@ -122909,7 +126313,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -122994,6 +126399,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -123052,7 +126465,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -123141,6 +126555,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -130227,6 +133649,144 @@ "actions_caches" ] }, + "concurrency-group-list": { + "title": "Concurrency Group List", + "description": "A list of active concurrency groups for a repository.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "last_acquired_at" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "last_acquired_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + } + } + }, + "concurrency-group": { + "title": "Concurrency Group", + "description": "A concurrency group with the workflow runs and jobs that are either currently holding\nor waiting for the concurrency group lease.", + "type": "object", + "required": [ + "group_name", + "group_url", + "total_count", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "total_count": { + "type": "integer" + }, + "group_members": { + "type": "array", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "job_id": { + "type": "integer", + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": "string", + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + }, "job": { "title": "Job", "description": "Information of a job execution in a workflow run", @@ -131158,6 +134718,131 @@ "comment" ] }, + "concurrency-group-run-list": { + "title": "Concurrency Group Run List", + "description": "A list of concurrency groups associated with a workflow run.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer", + "description": "The total number of concurrency groups this workflow run participates in,\nderived from the run's configuration. This count is not filtered by\nwhether the run currently holds or is waiting in each group, so it can\ninclude groups whose `group_members` array is empty (for example, when\nthe run has already released its lease in that group)." + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group. May return 404 if the group\nhas no active items at the time it is requested, since the\nget-by-name endpoint reports the live repo-wide state of a group\nwhile this endpoint lists groups associated with a run by\nconfiguration." + }, + "group_members": { + "type": "array", + "description": "Items belonging to this workflow run that are either currently holding or\nwaiting for the concurrency group lease. May be empty if the run no\nlonger has any active or queued items in this group.", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status", + "position", + "position_url" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "position": { + "type": "integer", + "description": "Queue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending)." + }, + "position_url": { + "type": "string", + "format": "uri", + "description": "API URL to get items ahead of this item in the concurrency group." + }, + "job_id": { + "type": [ + "integer", + "null" + ], + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": [ + "string", + "null" + ], + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + } + } + } + }, "review-custom-gates-comment-required": { "type": "object", "properties": { @@ -311622,6 +315307,57 @@ ] } }, + "concurrency-group-list": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "last_acquired_at": "2026-01-15T16:14:23Z" + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "last_acquired_at": "2026-01-15T16:13:55Z" + } + ] + } + }, + "concurrency-group": { + "value": { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "total_count": 3, + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress" + }, + { + "run_id": 30433643, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", + "status": "pending" + }, + { + "run_id": 30433644, + "run_name": "Deploy hotfix", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", + "job_id": 798245260, + "job_name": "deploy", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", + "status": "pending" + } + ] + } + }, "job": { "value": { "id": 399444496, @@ -312410,6 +316146,47 @@ ] } }, + "concurrency-group-run-list": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress", + "position": 0, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" + } + ] + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "pending", + "position": 2, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", + "job_id": 798245260, + "job_name": "build", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" + } + ] + } + ] + } + }, "pending-deployment-items": { "value": [ { @@ -332333,6 +336110,15 @@ "default": false } }, + "secret-scanning-alert-bypassed": { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } + }, "network-configuration-id": { "name": "network_configuration_id", "description": "Unique identifier of the hosted compute network configuration.", @@ -332466,6 +336252,15 @@ "type": "integer" } }, + "concurrency-group-name": { + "name": "concurrency_group_name", + "description": "The name of the concurrency group.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, "job-id": { "name": "job_id", "description": "The unique identifier of the job.", diff --git a/descriptions-next/api.github.com/api.github.com.2026-03-10.yaml b/descriptions-next/api.github.com/api.github.com.2026-03-10.yaml index 6819017a16..41453d6413 100644 --- a/descriptions-next/api.github.com/api.github.com.2026-03-10.yaml +++ b/descriptions-next/api.github.com/api.github.com.2026-03-10.yaml @@ -343,6 +343,2530 @@ paths: enabledForGitHubApps: true category: security-advisories subcategory: global-advisories + "/agents/repos/{owner}/{repo}/tasks": + get: + summary: List tasks for repository + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for a specific repository + + **Fine-grained access tokens for "List tasks for repository"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks-for-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + - name: creator_id + in: query + schema: + type: integer + description: Filter tasks by creator user ID + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="prev" (when current page > 1), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; + rel="next", ; + rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + post: + summary: Start a task + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Starts a new Copilot cloud agent task for a repository. + + This endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription. + + **Fine-grained access tokens for "Start a task"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read and write) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/create-task-in-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + requestBody: + required: true + description: The task creation parameters, including the user's prompt and + optional agent settings. + content: + application/json: + schema: + type: object + required: + - prompt + properties: + prompt: + type: string + description: The user's prompt for the agent + model: + type: string + description: 'The model to use for this task. The allowed models + may change over time and depend on the user''s GitHub Copilot + plan and organization policies. Currently supported values: `claude-sonnet-4.6`, + `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, + `claude-sonnet-4.5`, `claude-opus-4.5`' + create_pull_request: + type: boolean + description: Whether to create a PR. + default: false + base_ref: + type: string + description: Base ref for new branch/PR + examples: + default: + value: + prompt: Fix the login button on the homepage + base_ref: main + responses: + '201': + description: Task created successfully + content: + application/json: + schema: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + artifacts: [] + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '400': + description: Problems parsing JSON + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/repos/{owner}/{repo}/tasks/{task_id}": + get: + summary: Get a task by repo + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID scoped to an owner/repo path + + **Fine-grained access tokens for "Get a task by repo"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-repo-and-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks": + get: + summary: List tasks + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for the authenticated user + + **Fine-grained access tokens for "List tasks"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; rel="next", + ; rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks/{task_id}": + get: + summary: Get a task by ID + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID with its associated sessions + + **Fine-grained access tokens for "Get a task by ID"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Problems parsing request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation "/app": get: summary: Get the authenticated app @@ -10651,6 +13175,10 @@ paths: 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. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records @@ -10693,24 +13221,18 @@ paths: properties: name: type: string - description: | - The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name parameter must also be identical across all entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: | - The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name and version parameters must also be identical across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: "^sha256:[a-f0-9]{64}$" version: type: string - description: | - The artifact version. Note that if multiple deployments have identical 'digest' parameter values, - the version parameter must also be identical across all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true examples: @@ -20458,7 +22980,7 @@ paths: description: |2- 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`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. tags: @@ -20552,7 +23074,335 @@ paths: auth_type: description: The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, - or `oidc_cloudsmith` for OIDC authentication. + `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication. + type: string + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + tenant_id: + description: The tenant ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + client_id: + description: The client ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + aws_region: + description: The AWS region. Required when `auth_type` is `oidc_aws`. + type: string + account_id: + description: The AWS account ID. Required when `auth_type` is `oidc_aws`. + type: string + role_name: + description: The AWS IAM role name. Required when `auth_type` is + `oidc_aws`. + type: string + domain: + description: The CodeArtifact domain. Required when `auth_type` + is `oidc_aws`. + type: string + domain_owner: + description: The CodeArtifact domain owner (AWS account ID). Required + when `auth_type` is `oidc_aws`. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. Required when `auth_type` + is `oidc_jfrog`. + type: string + audience: + description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. Optional for `oidc_jfrog` + auth type. + type: string + namespace: + description: The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: The Cloudsmith API host. Optional for `oidc_cloudsmith` + auth type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). + type: string + required: + - registry_type + - url + - visibility + examples: + org-private-registry-with-private-visibility: + summary: Example of a private registry configuration with private + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + replaces_base: true + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: private + org-private-registry-with-selected-visibility: + summary: Example of a private registry configuration with selected + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + org-private-registry-with-oidc-azure: + summary: Example of an OIDC private registry configuration using Azure + value: + registry_type: docker_registry + url: https://myregistry.azurecr.io + auth_type: oidc_azure + visibility: all + tenant_id: 12345678-1234-1234-1234-123456789012 + client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: Example of an OIDC private registry configuration using Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com + responses: + '201': + description: The organization private registry configuration + content: + application/json: + schema: + "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" + examples: + org-private-registry-with-selected-visibility: + "$ref": "#/components/examples/org-private-registry-configuration" + org-private-registry-with-private-visibility: + "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/public-key": + get: + summary: Get private registries public key for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-public-key + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - key_id + - key + properties: + key_id: + description: The identifier for the key. + type: string + examples: + - '012345678912345678' + key: + description: The Base64 encoded public key. + type: string + examples: + - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + examples: + default: + "$ref": "#/components/examples/private-registries-public-key" + headers: + Link: + "$ref": "#/components/headers/link" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/{secret_name}": + get: + summary: Get a private registry for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/secret-name" + responses: + '200': + description: The specified private registry configuration for the organization + content: + application/json: + schema: + "$ref": "#/components/schemas/org-private-registry-configuration" + examples: + default: + "$ref": "#/components/examples/org-private-registry-configuration" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + patch: + summary: Update a private registry for an organization + description: |2- + + 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`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. + tags: + - private-registries + operationId: private-registries/update-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/secret-name" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + registry_type: + description: The registry type. + type: string + 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 + url: + description: The URL of the private registry. + type: string + format: uri + username: + 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. + type: + - string + - 'null' + replaces_base: + 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. + type: boolean + default: false + encrypted_value: + 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. + type: string + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + key_id: + description: The ID of the key you used to encrypt the secret. + type: string + visibility: + 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. + type: string + enum: + - all + - private + - selected + selected_repository_ids: + 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`. + type: array + items: + type: integer + auth_type: + 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. type: string enum: - token @@ -20561,6 +23411,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp tenant_id: description: The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`. @@ -20593,7 +23444,7 @@ paths: type: string audience: description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. type: string identity_mapping_name: description: The JFrog identity mapping name. Optional for `oidc_jfrog` @@ -20611,312 +23462,15 @@ paths: description: The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default. type: string - required: - - registry_type - - url - - visibility - examples: - org-private-registry-with-private-visibility: - summary: Example of a private registry configuration with private - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - replaces_base: true - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: private - org-private-registry-with-selected-visibility: - summary: Example of a private registry configuration with selected - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - org-private-registry-with-oidc-azure: - summary: Example of an OIDC private registry configuration using Azure - value: - registry_type: docker_registry - url: https://myregistry.azurecr.io - auth_type: oidc_azure - visibility: all - tenant_id: 12345678-1234-1234-1234-123456789012 - client_id: abcdef01-2345-6789-abcd-ef0123456789 - org-private-registry-with-oidc-cloudsmith: - summary: Example of an OIDC private registry configuration using Cloudsmith - value: - registry_type: npm_registry - url: https://npm.cloudsmith.io/my-org/my-repo/ - auth_type: oidc_cloudsmith - visibility: all - namespace: my-org - service_slug: my-service-account - audience: https://github.com/my-org - responses: - '201': - description: The organization private registry configuration - content: - application/json: - schema: - "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" - examples: - org-private-registry-with-selected-visibility: - "$ref": "#/components/examples/org-private-registry-configuration" - org-private-registry-with-private-visibility: - "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" - '404': - "$ref": "#/components/responses/not_found" - '422': - "$ref": "#/components/responses/validation_failed" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/public-key": - get: - summary: Get private registries public key for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-public-key - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - responses: - '200': - description: Response - content: - application/json: - schema: - type: object - required: - - key_id - - key - properties: - key_id: - description: The identifier for the key. - type: string - examples: - - '012345678912345678' - key: - description: The Base64 encoded public key. - type: string - examples: - - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - examples: - default: - "$ref": "#/components/examples/private-registries-public-key" - headers: - Link: - "$ref": "#/components/headers/link" - '404': - "$ref": "#/components/responses/not_found" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/{secret_name}": - get: - summary: Get a private registry for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - - "$ref": "#/components/parameters/secret-name" - responses: - '200': - description: The specified private registry configuration for the organization - content: - application/json: - schema: - "$ref": "#/components/schemas/org-private-registry-configuration" - examples: - default: - "$ref": "#/components/examples/org-private-registry-configuration" - '404': - "$ref": "#/components/responses/not_found" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - patch: - summary: Update a private registry for an organization - description: |2- - - 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`, `oidc_jfrog`, or `oidc_cloudsmith`), 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. - tags: - - private-registries - operationId: private-registries/update-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - - "$ref": "#/components/parameters/secret-name" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - registry_type: - description: The registry type. + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. type: string - 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 - url: - description: The URL of the private registry. - type: string - format: uri - username: - 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. - type: - - string - - 'null' - replaces_base: - 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. - type: boolean - default: false - encrypted_value: - 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. - type: string - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - key_id: - description: The ID of the key you used to encrypt the secret. - type: string - visibility: - 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. - type: string - enum: - - all - - private - - selected - selected_repository_ids: - 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`. - type: array - items: - type: integer - auth_type: - 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. - type: string - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - tenant_id: - description: The tenant ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - client_id: - description: The client ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - aws_region: - description: The AWS region. Required when `auth_type` is `oidc_aws`. - type: string - account_id: - description: The AWS account ID. Required when `auth_type` is `oidc_aws`. - type: string - role_name: - description: The AWS IAM role name. Required when `auth_type` is - `oidc_aws`. - type: string - domain: - description: The CodeArtifact domain. Required when `auth_type` - is `oidc_aws`. - type: string - domain_owner: - description: The CodeArtifact domain owner (AWS account ID). Required - when `auth_type` is `oidc_aws`. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. Required when `auth_type` - is `oidc_jfrog`. - type: string - audience: - description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. Optional for `oidc_jfrog` - auth type. - type: string - namespace: - description: The Cloudsmith organization namespace. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - service_slug: - description: The Cloudsmith service account slug. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - api_host: - description: The Cloudsmith API host. Optional for `oidc_cloudsmith` - auth type. If omitted, `api.cloudsmith.io` is used by default. + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). type: string examples: secret-based-update: @@ -23112,6 +25666,7 @@ paths: - "$ref": "#/components/parameters/secret-scanning-alert-publicly-leaked" - "$ref": "#/components/parameters/secret-scanning-alert-multi-repo" - "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + - "$ref": "#/components/parameters/secret-scanning-alert-bypassed" responses: '200': description: Response @@ -25695,6 +28250,111 @@ paths: enabledForGitHubApps: true category: actions subcategory: cache + "/repos/{owner}/{repo}/actions/concurrency_groups": + get: + summary: List concurrency groups for a repository + description: |- + Lists the active concurrency groups for a repository. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/pagination-after" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group-list" + examples: + default: + "$ref": "#/components/examples/concurrency-group-list" + headers: + Link: + "$ref": "#/components/headers/link" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": + get: + summary: Get a concurrency group for a repository + description: |- + Gets a specific concurrency group for a repository, including all instances in the group's queue. + Returns 404 if the group is inactive or does not exist. + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items + ahead of the specified workflow run or job in the queue, plus the specified item itself + (returned as the last element). This is useful for determining what is blocking a particular + run or job. Returns 422 if the specified run or job is not in this concurrency group. + + When using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow + leases held on behalf of that run. Job-level leases within the run are not considered to + block the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow + leases on the job's ancestor paths. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/concurrency-group-name" + - name: ahead_of_run + description: |- + Filter to items ahead of this workflow run ID in the queue, plus the run itself. + Matches workflow-level concurrency and reusable-workflow leases held on behalf of + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: |- + Filter to items ahead of this job ID in the queue, plus the job itself. + Matches job-level concurrency and reusable-workflow leases on the job's + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group" + examples: + default: + "$ref": "#/components/examples/concurrency-group" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/jobs/{job_id}": get: summary: Get a job for a workflow run @@ -27397,6 +30057,64 @@ paths: enabledForGitHubApps: true category: actions subcategory: workflow-runs + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": + get: + summary: List concurrency groups for a workflow run + description: |- + Lists all concurrency groups associated with a workflow run or its jobs. + + The set of groups is derived from the run's configuration, so a group is + included even when the run no longer has any items currently holding or + waiting in it. In that case the `group_members` array will be empty. + `total_count` reflects the number of groups the run participates in by + configuration, not the number with active items. + + This differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + which returns 404 when a group has no active items. That endpoint reports + the live state of a group repo-wide, while this endpoint reports the + groups associated with a specific run by configuration. + + Results are sorted by group name and support cursor-based pagination via + `before` and `after`. The `after` cursor paginates forward only and does + not emit a `rel="prev"` Link; use `before` to page backward from a + forward page's `next` cursor. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/run-id" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/pagination-before" + - "$ref": "#/components/parameters/pagination-after" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group-run-list" + examples: + default: + "$ref": "#/components/examples/concurrency-group-run-list" + headers: + Link: + "$ref": "#/components/headers/link" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": post: summary: Review custom deployment protection rules for a workflow run @@ -48260,6 +50978,7 @@ paths: - "$ref": "#/components/parameters/secret-scanning-alert-publicly-leaked" - "$ref": "#/components/parameters/secret-scanning-alert-multi-repo" - "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + - "$ref": "#/components/parameters/secret-scanning-alert-bypassed" responses: '200': description: Response @@ -89300,6 +92019,7 @@ components: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -89367,6 +92087,14 @@ components: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity Provider + (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -89417,6 +92145,7 @@ components: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -89489,6 +92218,14 @@ components: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity Provider + (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -94668,6 +97405,112 @@ components: required: - total_count - actions_caches + concurrency-group-list: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: + - string + - 'null' + format: date-time + concurrency-group: + title: Concurrency Group + description: |- + A concurrency group with the workflow runs and jobs that are either currently holding + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + job_id: + type: integer + description: The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + job_name: + type: string + description: The display name of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending job: title: Job description: Information of a job execution in a workflow run @@ -95371,6 +98214,116 @@ components: - state - user - comment + concurrency-group-run-list: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: |- + The total number of concurrency groups this workflow run participates in, + derived from the run's configuration. This count is not filtered by + whether the run currently holds or is waiting in each group, so it can + include groups whose `group_members` array is empty (for example, when + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: |- + API URL for this concurrency group. May return 404 if the group + has no active items at the time it is requested, since the + get-by-name endpoint reports the live repo-wide state of a group + while this endpoint lists groups associated with a run by + configuration. + group_members: + type: array + description: |- + Items belonging to this workflow run that are either currently holding or + waiting for the concurrency group lease. May be empty if the run no + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + position: + type: integer + description: Queue position. 0 means the item holds the concurrency + lease (in_progress), 1 or higher means queued (pending). + position_url: + type: string + format: uri + description: API URL to get items ahead of this item in the + concurrency group. + job_id: + type: + - integer + - 'null' + description: The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + job_name: + type: + - string + - 'null' + description: The display name of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending review-custom-gates-comment-required: type: object properties: @@ -230662,6 +233615,41 @@ components: last_accessed_at: '2019-01-24T22:45:36.000Z' created_at: '2019-01-24T22:45:36.000Z' size_in_bytes: 1024 + concurrency-group-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + concurrency-group: + value: + group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending job: value: id: 399444496 @@ -231338,6 +234326,34 @@ components: runner_group_name: my runner group workflow_name: CI head_branch: main + concurrency-group-run-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 pending-deployment-items: value: - environment: @@ -248563,6 +251579,17 @@ components: schema: type: boolean default: false + secret-scanning-alert-bypassed: + name: is_bypassed + in: query + description: A boolean value (`true` or `false`) indicating whether to filter + alerts by their push protection bypass status. When set to `true`, only alerts + that were created because a push protection rule was bypassed will be returned. + When set to `false`, only alerts that were not caused by a push protection + bypass will be returned. + required: false + schema: + type: boolean network-configuration-id: name: network_configuration_id description: Unique identifier of the hosted compute network configuration. @@ -248678,6 +251705,13 @@ components: required: true schema: type: integer + concurrency-group-name: + name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string job-id: name: job_id description: The unique identifier of the job. diff --git a/descriptions-next/api.github.com/api.github.com.json b/descriptions-next/api.github.com/api.github.com.json index 5c94afb103..2b51afbfe8 100644 --- a/descriptions-next/api.github.com/api.github.com.json +++ b/descriptions-next/api.github.com/api.github.com.json @@ -530,6 +530,3174 @@ } } }, + "/agents/repos/{owner}/{repo}/tasks": { + "get": { + "summary": "List tasks for repository", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for a specific repository\n\n**Fine-grained access tokens for \"List tasks for repository\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + }, + { + "name": "creator_id", + "in": "query", + "schema": { + "type": "integer" + }, + "description": "Filter tasks by creator user ID" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"prev\" (when current page > 1),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Start a task", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nStarts a new Copilot cloud agent task for a repository.\n\nThis endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription.\n\n**Fine-grained access tokens for \"Start a task\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read and write)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/create-task-in-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + } + ], + "requestBody": { + "required": true, + "description": "The task creation parameters, including the user's prompt and optional agent settings.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The user's prompt for the agent" + }, + "model": { + "type": "string", + "description": "The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5`" + }, + "create_pull_request": { + "type": "boolean", + "description": "Whether to create a PR.", + "default": false + }, + "base_ref": { + "type": "string", + "description": "Base ref for new branch/PR" + } + } + }, + "examples": { + "default": { + "value": { + "prompt": "Fix the login button on the homepage", + "base_ref": "main" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Task created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "queued", + "session_count": 1, + "artifacts": [], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + } + } + } + } + } + }, + "400": { + "description": "Problems parsing JSON", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/repos/{owner}/{repo}/tasks/{task_id}": { + "get": { + "summary": "Get a task by repo", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID scoped to an owner/repo path\n\n**Fine-grained access tokens for \"Get a task by repo\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-repo-and-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks": { + "get": { + "summary": "List tasks", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for the authenticated user\n\n**Fine-grained access tokens for \"List tasks\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks/{task_id}": { + "get": { + "summary": "Get a task by ID", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID with its associated sessions\n\n**Fine-grained access tokens for \"Get a task by ID\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Problems parsing request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, "/app": { "get": { "summary": "Get the authenticated app", @@ -14772,7 +17940,7 @@ "/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}": { "post": { "summary": "Set cluster deployment records", - "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.", + "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.\nNote: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments\narray resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use\nthe artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can\nonly have one name and version.", "tags": [ "orgs" ], @@ -14825,20 +17993,20 @@ "properties": { "name": { "type": "string", - "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", + "description": "The name of the artifact.", "minLength": 1, "maxLength": 256 }, "digest": { "type": "string", - "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", + "description": "The hex encoded digest of the artifact.", "minLength": 71, "maxLength": 71, "pattern": "^sha256:[a-f0-9]{64}$" }, "version": { "type": "string", - "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", + "description": "The artifact version.", "maxLength": 100, "x-multi-segment": true, "examples": [ @@ -28293,7 +31461,7 @@ }, "post": { "summary": "Create a private registry for an organization", - "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -28378,7 +31546,393 @@ } }, "auth_type": { - "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith` for OIDC authentication.", + "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication.", + "type": "string", + "enum": [ + "token", + "username_password", + "oidc_azure", + "oidc_aws", + "oidc_jfrog", + "oidc_cloudsmith", + "oidc_gcp" + ] + }, + "tenant_id": { + "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "type": "string" + }, + "client_id": { + "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "type": "string" + }, + "aws_region": { + "description": "The AWS region. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "account_id": { + "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "role_name": { + "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "domain": { + "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "domain_owner": { + "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.", + "type": "string" + }, + "jfrog_oidc_provider_name": { + "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.", + "type": "string" + }, + "audience": { + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", + "type": "string" + }, + "identity_mapping_name": { + "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.", + "type": "string" + }, + "namespace": { + "description": "The Cloudsmith organization namespace. Required when `auth_type` is `oidc_cloudsmith`.", + "type": "string" + }, + "service_slug": { + "description": "The Cloudsmith service account slug. Required when `auth_type` is `oidc_cloudsmith`.", + "type": "string" + }, + "api_host": { + "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", + "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + } + }, + "required": [ + "registry_type", + "url", + "visibility" + ] + }, + "examples": { + "org-private-registry-with-private-visibility": { + "summary": "Example of a private registry configuration with private visibility", + "value": { + "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", + "username": "monalisa", + "replaces_base": true, + "encrypted_value": "c2VjcmV0", + "key_id": "012345678912345678", + "visibility": "private" + } + }, + "org-private-registry-with-selected-visibility": { + "summary": "Example of a private registry configuration with selected visibility", + "value": { + "registry_type": "maven_repository", + "url": "https://maven.pkg.github.com/organization/", + "username": "monalisa", + "encrypted_value": "c2VjcmV0", + "key_id": "012345678912345678", + "visibility": "selected", + "selected_repository_ids": [ + 1296269, + 1296280 + ] + } + }, + "org-private-registry-with-oidc-azure": { + "summary": "Example of an OIDC private registry configuration using Azure", + "value": { + "registry_type": "docker_registry", + "url": "https://myregistry.azurecr.io", + "auth_type": "oidc_azure", + "visibility": "all", + "tenant_id": "12345678-1234-1234-1234-123456789012", + "client_id": "abcdef01-2345-6789-abcd-ef0123456789" + } + }, + "org-private-registry-with-oidc-cloudsmith": { + "summary": "Example of an OIDC private registry configuration using Cloudsmith", + "value": { + "registry_type": "npm_registry", + "url": "https://npm.cloudsmith.io/my-org/my-repo/", + "auth_type": "oidc_cloudsmith", + "visibility": "all", + "namespace": "my-org", + "service_slug": "my-service-account", + "audience": "https://github.com/my-org" + } + }, + "org-private-registry-with-oidc-gcp": { + "summary": "Example of an OIDC private registry configuration using Google Cloud Artifact Registry", + "value": { + "registry_type": "docker_registry", + "url": "https://us-docker.pkg.dev/my-project/my-repo", + "auth_type": "oidc_gcp", + "visibility": "all", + "workload_identity_provider": "projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider", + "service_account": "dependabot@my-project.iam.gserviceaccount.com" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "The organization private registry configuration", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" + }, + "examples": { + "org-private-registry-with-selected-visibility": { + "$ref": "#/components/examples/org-private-registry-configuration" + }, + "org-private-registry-with-private-visibility": { + "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + } + }, + "/orgs/{org}/private-registries/public-key": { + "get": { + "summary": "Get private registries public key for an organization", + "description": "\nGets 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.\n\nOAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/get-org-public-key", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "key_id", + "key" + ], + "properties": { + "key_id": { + "description": "The identifier for the key.", + "type": "string", + "examples": [ + "012345678912345678" + ] + }, + "key": { + "description": "The Base64 encoded public key.", + "type": "string", + "examples": [ + "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" + ] + } + } + }, + "examples": { + "default": { + "$ref": "#/components/examples/private-registries-public-key" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + } + }, + "/orgs/{org}/private-registries/{secret_name}": { + "get": { + "summary": "Get a private registry for an organization", + "description": "\nGet the configuration of a single private registry defined for an organization, omitting its encrypted value.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/get-org-private-registry", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + }, + { + "$ref": "#/components/parameters/secret-name" + } + ], + "responses": { + "200": { + "description": "The specified private registry configuration for the organization", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/org-private-registry-configuration" + }, + "examples": { + "default": { + "$ref": "#/components/examples/org-private-registry-configuration" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "private-registries", + "subcategory": "organization-configurations" + } + }, + "patch": { + "summary": "Update a private registry for an organization", + "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "tags": [ + "private-registries" + ], + "operationId": "private-registries/update-org-private-registry", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization" + }, + "parameters": [ + { + "$ref": "#/components/parameters/org" + }, + { + "$ref": "#/components/parameters/secret-name" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "registry_type": { + "description": "The registry type.", + "type": "string", + "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" + ] + }, + "url": { + "description": "The URL of the private registry.", + "type": "string", + "format": "uri" + }, + "username": { + "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.", + "type": [ + "string", + "null" + ] + }, + "replaces_base": { + "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.", + "type": "boolean", + "default": false + }, + "encrypted_value": { + "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.", + "type": "string", + "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + }, + "key_id": { + "description": "The ID of the key you used to encrypt the secret.", + "type": "string" + }, + "visibility": { + "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.", + "type": "string", + "enum": [ + "all", + "private", + "selected" + ] + }, + "selected_repository_ids": { + "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`.", + "type": "array", + "items": { + "type": "integer" + } + }, + "auth_type": { + "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.", "type": "string", "enum": [ "token", @@ -28386,7 +31940,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -28422,7 +31977,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -28440,371 +31995,13 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" - } - }, - "required": [ - "registry_type", - "url", - "visibility" - ] - }, - "examples": { - "org-private-registry-with-private-visibility": { - "summary": "Example of a private registry configuration with private visibility", - "value": { - "registry_type": "maven_repository", - "url": "https://maven.pkg.github.com/organization/", - "username": "monalisa", - "replaces_base": true, - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "private" - } - }, - "org-private-registry-with-selected-visibility": { - "summary": "Example of a private registry configuration with selected visibility", - "value": { - "registry_type": "maven_repository", - "url": "https://maven.pkg.github.com/organization/", - "username": "monalisa", - "encrypted_value": "c2VjcmV0", - "key_id": "012345678912345678", - "visibility": "selected", - "selected_repository_ids": [ - 1296269, - 1296280 - ] - } - }, - "org-private-registry-with-oidc-azure": { - "summary": "Example of an OIDC private registry configuration using Azure", - "value": { - "registry_type": "docker_registry", - "url": "https://myregistry.azurecr.io", - "auth_type": "oidc_azure", - "visibility": "all", - "tenant_id": "12345678-1234-1234-1234-123456789012", - "client_id": "abcdef01-2345-6789-abcd-ef0123456789" - } - }, - "org-private-registry-with-oidc-cloudsmith": { - "summary": "Example of an OIDC private registry configuration using Cloudsmith", - "value": { - "registry_type": "npm_registry", - "url": "https://npm.cloudsmith.io/my-org/my-repo/", - "auth_type": "oidc_cloudsmith", - "visibility": "all", - "namespace": "my-org", - "service_slug": "my-service-account", - "audience": "https://github.com/my-org" - } - } - } - } - } - }, - "responses": { - "201": { - "description": "The organization private registry configuration", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" - }, - "examples": { - "org-private-registry-with-selected-visibility": { - "$ref": "#/components/examples/org-private-registry-configuration" }, - "org-private-registry-with-private-visibility": { - "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - }, - "422": { - "$ref": "#/components/responses/validation_failed" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - } - }, - "/orgs/{org}/private-registries/public-key": { - "get": { - "summary": "Get private registries public key for an organization", - "description": "\nGets 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.\n\nOAuth tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/get-org-public-key", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - } - ], - "responses": { - "200": { - "description": "Response", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "key_id", - "key" - ], - "properties": { - "key_id": { - "description": "The identifier for the key.", - "type": "string", - "examples": [ - "012345678912345678" - ] - }, - "key": { - "description": "The Base64 encoded public key.", - "type": "string", - "examples": [ - "2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234" - ] - } - } - }, - "examples": { - "default": { - "$ref": "#/components/examples/private-registries-public-key" - } - } - } - }, - "headers": { - "Link": { - "$ref": "#/components/headers/link" - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - } - }, - "/orgs/{org}/private-registries/{secret_name}": { - "get": { - "summary": "Get a private registry for an organization", - "description": "\nGet the configuration of a single private registry defined for an organization, omitting its encrypted value.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/get-org-private-registry", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - }, - { - "$ref": "#/components/parameters/secret-name" - } - ], - "responses": { - "200": { - "description": "The specified private registry configuration for the organization", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/org-private-registry-configuration" - }, - "examples": { - "default": { - "$ref": "#/components/examples/org-private-registry-configuration" - } - } - } - } - }, - "404": { - "$ref": "#/components/responses/not_found" - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "private-registries", - "subcategory": "organization-configurations" - } - }, - "patch": { - "summary": "Update a private registry for an organization", - "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", - "tags": [ - "private-registries" - ], - "operationId": "private-registries/update-org-private-registry", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization" - }, - "parameters": [ - { - "$ref": "#/components/parameters/org" - }, - { - "$ref": "#/components/parameters/secret-name" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "registry_type": { - "description": "The registry type.", - "type": "string", - "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" - ] - }, - "url": { - "description": "The URL of the private registry.", - "type": "string", - "format": "uri" - }, - "username": { - "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.", - "type": [ - "string", - "null" - ] - }, - "replaces_base": { - "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.", - "type": "boolean", - "default": false - }, - "encrypted_value": { - "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.", - "type": "string", - "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - }, - "key_id": { - "description": "The ID of the key you used to encrypt the secret.", - "type": "string" - }, - "visibility": { - "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.", - "type": "string", - "enum": [ - "all", - "private", - "selected" - ] - }, - "selected_repository_ids": { - "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`.", - "type": "array", - "items": { - "type": "integer" - } - }, - "auth_type": { - "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.", - "type": "string", - "enum": [ - "token", - "username_password", - "oidc_azure", - "oidc_aws", - "oidc_jfrog", - "oidc_cloudsmith" - ] - }, - "tenant_id": { - "description": "The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", "type": "string" }, - "client_id": { - "description": "The client ID of the Azure AD application. Required when `auth_type` is `oidc_azure`.", - "type": "string" - }, - "aws_region": { - "description": "The AWS region. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "account_id": { - "description": "The AWS account ID. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "role_name": { - "description": "The AWS IAM role name. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "domain": { - "description": "The CodeArtifact domain. Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "domain_owner": { - "description": "The CodeArtifact domain owner (AWS account ID). Required when `auth_type` is `oidc_aws`.", - "type": "string" - }, - "jfrog_oidc_provider_name": { - "description": "The JFrog OIDC provider name. Required when `auth_type` is `oidc_jfrog`.", - "type": "string" - }, - "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", - "type": "string" - }, - "identity_mapping_name": { - "description": "The JFrog identity mapping name. Optional for `oidc_jfrog` auth type.", - "type": "string" - }, - "namespace": { - "description": "The Cloudsmith organization namespace. Required when `auth_type` is `oidc_cloudsmith`.", - "type": "string" - }, - "service_slug": { - "description": "The Cloudsmith service account slug. Required when `auth_type` is `oidc_cloudsmith`.", - "type": "string" - }, - "api_host": { - "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", "type": "string" } } @@ -32010,6 +35207,9 @@ }, { "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + }, + { + "$ref": "#/components/parameters/secret-scanning-alert-bypassed" } ], "responses": { @@ -35454,6 +38654,139 @@ } } }, + "/repos/{owner}/{repo}/actions/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a repository", + "description": "Lists the active concurrency groups for a repository.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/per-page" + }, + { + "$ref": "#/components/parameters/pagination-after" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group-list" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group-list" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": { + "get": { + "summary": "Get a concurrency group for a repository", + "description": "Gets a specific concurrency group for a repository, including all instances in the group's queue.\nReturns 404 if the group is inactive or does not exist.\n\nOptionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items\nahead of the specified workflow run or job in the queue, plus the specified item itself\n(returned as the last element). This is useful for determining what is blocking a particular\nrun or job. Returns 422 if the specified run or job is not in this concurrency group.\n\nWhen using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow\nleases held on behalf of that run. Job-level leases within the run are not considered to\nblock the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow\nleases on the job's ancestor paths.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/get-concurrency-group-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/concurrency-group-name" + }, + { + "name": "ahead_of_run", + "description": "Filter to items ahead of this workflow run ID in the queue, plus the run itself.\nMatches workflow-level concurrency and reusable-workflow leases held on behalf of\nthe run. Mutually exclusive with `ahead_of_job`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "ahead_of_job", + "description": "Filter to items ahead of this job ID in the queue, plus the job itself.\nMatches job-level concurrency and reusable-workflow leases on the job's\nancestor paths. Mutually exclusive with `ahead_of_run`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group" + } + } + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, "/repos/{owner}/{repo}/actions/jobs/{job_id}": { "get": { "summary": "Get a job for a workflow run", @@ -37867,6 +41200,74 @@ } } }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a workflow run", + "description": "Lists all concurrency groups associated with a workflow run or its jobs.\n\nThe set of groups is derived from the run's configuration, so a group is\nincluded even when the run no longer has any items currently holding or\nwaiting in it. In that case the `group_members` array will be empty.\n`total_count` reflects the number of groups the run participates in by\nconfiguration, not the number with active items.\n\nThis differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`,\nwhich returns 404 when a group has no active items. That endpoint reports\nthe live state of a group repo-wide, while this endpoint reports the\ngroups associated with a specific run by configuration.\n\nResults are sorted by group name and support cursor-based pagination via\n`before` and `after`. The `after` cursor paginates forward only and does\nnot emit a `rel=\"prev\"` Link; use `before` to page backward from a\nforward page's `next` cursor.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run" + }, + "parameters": [ + { + "$ref": "#/components/parameters/owner" + }, + { + "$ref": "#/components/parameters/repo" + }, + { + "$ref": "#/components/parameters/run-id" + }, + { + "$ref": "#/components/parameters/per-page" + }, + { + "$ref": "#/components/parameters/pagination-before" + }, + { + "$ref": "#/components/parameters/pagination-after" + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/concurrency-group-run-list" + }, + "examples": { + "default": { + "$ref": "#/components/examples/concurrency-group-run-list" + } + } + } + }, + "headers": { + "Link": { + "$ref": "#/components/headers/link" + } + } + }, + "404": { + "$ref": "#/components/responses/not_found" + }, + "422": { + "$ref": "#/components/responses/validation_failed" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": { "post": { "summary": "Review custom deployment protection rules for a workflow run", @@ -66767,6 +70168,9 @@ }, { "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + }, + { + "$ref": "#/components/parameters/secret-scanning-alert-bypassed" } ], "responses": { @@ -124244,7 +127648,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -124329,6 +127734,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -124387,7 +127800,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -124476,6 +127890,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -131878,6 +135300,144 @@ "actions_caches" ] }, + "concurrency-group-list": { + "title": "Concurrency Group List", + "description": "A list of active concurrency groups for a repository.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "last_acquired_at" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "last_acquired_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + } + } + }, + "concurrency-group": { + "title": "Concurrency Group", + "description": "A concurrency group with the workflow runs and jobs that are either currently holding\nor waiting for the concurrency group lease.", + "type": "object", + "required": [ + "group_name", + "group_url", + "total_count", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "total_count": { + "type": "integer" + }, + "group_members": { + "type": "array", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "job_id": { + "type": "integer", + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": "string", + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + }, "job": { "title": "Job", "description": "Information of a job execution in a workflow run", @@ -132809,6 +136369,131 @@ "comment" ] }, + "concurrency-group-run-list": { + "title": "Concurrency Group Run List", + "description": "A list of concurrency groups associated with a workflow run.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer", + "description": "The total number of concurrency groups this workflow run participates in,\nderived from the run's configuration. This count is not filtered by\nwhether the run currently holds or is waiting in each group, so it can\ninclude groups whose `group_members` array is empty (for example, when\nthe run has already released its lease in that group)." + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group. May return 404 if the group\nhas no active items at the time it is requested, since the\nget-by-name endpoint reports the live repo-wide state of a group\nwhile this endpoint lists groups associated with a run by\nconfiguration." + }, + "group_members": { + "type": "array", + "description": "Items belonging to this workflow run that are either currently holding or\nwaiting for the concurrency group lease. May be empty if the run no\nlonger has any active or queued items in this group.", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status", + "position", + "position_url" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "position": { + "type": "integer", + "description": "Queue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending)." + }, + "position_url": { + "type": "string", + "format": "uri", + "description": "API URL to get items ahead of this item in the concurrency group." + }, + "job_id": { + "type": [ + "integer", + "null" + ], + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": [ + "string", + "null" + ], + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + } + } + } + }, "review-custom-gates-comment-required": { "type": "object", "properties": { @@ -314456,6 +318141,57 @@ ] } }, + "concurrency-group-list": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "last_acquired_at": "2026-01-15T16:14:23Z" + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "last_acquired_at": "2026-01-15T16:13:55Z" + } + ] + } + }, + "concurrency-group": { + "value": { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "total_count": 3, + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress" + }, + { + "run_id": 30433643, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", + "status": "pending" + }, + { + "run_id": 30433644, + "run_name": "Deploy hotfix", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", + "job_id": 798245260, + "job_name": "deploy", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", + "status": "pending" + } + ] + } + }, "job": { "value": { "id": 399444496, @@ -315244,6 +318980,47 @@ ] } }, + "concurrency-group-run-list": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress", + "position": 0, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" + } + ] + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "pending", + "position": 2, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", + "job_id": 798245260, + "job_name": "build", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" + } + ] + } + ] + } + }, "pending-deployment-items": { "value": [ { @@ -335385,6 +339162,15 @@ "default": false } }, + "secret-scanning-alert-bypassed": { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } + }, "network-configuration-id": { "name": "network_configuration_id", "description": "Unique identifier of the hosted compute network configuration.", @@ -335518,6 +339304,15 @@ "type": "integer" } }, + "concurrency-group-name": { + "name": "concurrency_group_name", + "description": "The name of the concurrency group.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, "job-id": { "name": "job_id", "description": "The unique identifier of the job.", diff --git a/descriptions-next/api.github.com/api.github.com.yaml b/descriptions-next/api.github.com/api.github.com.yaml index bee45867e9..878997e46e 100644 --- a/descriptions-next/api.github.com/api.github.com.yaml +++ b/descriptions-next/api.github.com/api.github.com.yaml @@ -343,6 +343,2530 @@ paths: enabledForGitHubApps: true category: security-advisories subcategory: global-advisories + "/agents/repos/{owner}/{repo}/tasks": + get: + summary: List tasks for repository + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for a specific repository + + **Fine-grained access tokens for "List tasks for repository"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks-for-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + - name: creator_id + in: query + schema: + type: integer + description: Filter tasks by creator user ID + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="prev" (when current page > 1), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; + rel="next", ; + rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + post: + summary: Start a task + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Starts a new Copilot cloud agent task for a repository. + + This endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription. + + **Fine-grained access tokens for "Start a task"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read and write) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/create-task-in-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + requestBody: + required: true + description: The task creation parameters, including the user's prompt and + optional agent settings. + content: + application/json: + schema: + type: object + required: + - prompt + properties: + prompt: + type: string + description: The user's prompt for the agent + model: + type: string + description: 'The model to use for this task. The allowed models + may change over time and depend on the user''s GitHub Copilot + plan and organization policies. Currently supported values: `claude-sonnet-4.6`, + `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, + `claude-sonnet-4.5`, `claude-opus-4.5`' + create_pull_request: + type: boolean + description: Whether to create a PR. + default: false + base_ref: + type: string + description: Base ref for new branch/PR + examples: + default: + value: + prompt: Fix the login button on the homepage + base_ref: main + responses: + '201': + description: Task created successfully + content: + application/json: + schema: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + artifacts: [] + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '400': + description: Problems parsing JSON + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/repos/{owner}/{repo}/tasks/{task_id}": + get: + summary: Get a task by repo + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID scoped to an owner/repo path + + **Fine-grained access tokens for "Get a task by repo"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-repo-and-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks": + get: + summary: List tasks + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for the authenticated user + + **Fine-grained access tokens for "List tasks"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; rel="next", + ; rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks/{task_id}": + get: + summary: Get a task by ID + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID with its associated sessions + + **Fine-grained access tokens for "Get a task by ID"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Problems parsing request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation "/app": get: summary: Get the authenticated app @@ -10678,6 +13202,10 @@ paths: 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. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records @@ -10720,24 +13248,18 @@ paths: properties: name: type: string - description: | - The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name parameter must also be identical across all entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: | - The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name and version parameters must also be identical across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: "^sha256:[a-f0-9]{64}$" version: type: string - description: | - The artifact version. Note that if multiple deployments have identical 'digest' parameter values, - the version parameter must also be identical across all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true examples: @@ -20585,7 +23107,7 @@ paths: description: |2- 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`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. tags: @@ -20679,7 +23201,335 @@ paths: auth_type: description: The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, - or `oidc_cloudsmith` for OIDC authentication. + `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication. + type: string + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + tenant_id: + description: The tenant ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + client_id: + description: The client ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + aws_region: + description: The AWS region. Required when `auth_type` is `oidc_aws`. + type: string + account_id: + description: The AWS account ID. Required when `auth_type` is `oidc_aws`. + type: string + role_name: + description: The AWS IAM role name. Required when `auth_type` is + `oidc_aws`. + type: string + domain: + description: The CodeArtifact domain. Required when `auth_type` + is `oidc_aws`. + type: string + domain_owner: + description: The CodeArtifact domain owner (AWS account ID). Required + when `auth_type` is `oidc_aws`. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. Required when `auth_type` + is `oidc_jfrog`. + type: string + audience: + description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. Optional for `oidc_jfrog` + auth type. + type: string + namespace: + description: The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: The Cloudsmith API host. Optional for `oidc_cloudsmith` + auth type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). + type: string + required: + - registry_type + - url + - visibility + examples: + org-private-registry-with-private-visibility: + summary: Example of a private registry configuration with private + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + replaces_base: true + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: private + org-private-registry-with-selected-visibility: + summary: Example of a private registry configuration with selected + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + org-private-registry-with-oidc-azure: + summary: Example of an OIDC private registry configuration using Azure + value: + registry_type: docker_registry + url: https://myregistry.azurecr.io + auth_type: oidc_azure + visibility: all + tenant_id: 12345678-1234-1234-1234-123456789012 + client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: Example of an OIDC private registry configuration using Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com + responses: + '201': + description: The organization private registry configuration + content: + application/json: + schema: + "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" + examples: + org-private-registry-with-selected-visibility: + "$ref": "#/components/examples/org-private-registry-configuration" + org-private-registry-with-private-visibility: + "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/public-key": + get: + summary: Get private registries public key for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-public-key + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - key_id + - key + properties: + key_id: + description: The identifier for the key. + type: string + examples: + - '012345678912345678' + key: + description: The Base64 encoded public key. + type: string + examples: + - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + examples: + default: + "$ref": "#/components/examples/private-registries-public-key" + headers: + Link: + "$ref": "#/components/headers/link" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/{secret_name}": + get: + summary: Get a private registry for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/secret-name" + responses: + '200': + description: The specified private registry configuration for the organization + content: + application/json: + schema: + "$ref": "#/components/schemas/org-private-registry-configuration" + examples: + default: + "$ref": "#/components/examples/org-private-registry-configuration" + '404': + "$ref": "#/components/responses/not_found" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + patch: + summary: Update a private registry for an organization + description: |2- + + 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`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. + tags: + - private-registries + operationId: private-registries/update-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + parameters: + - "$ref": "#/components/parameters/org" + - "$ref": "#/components/parameters/secret-name" + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + registry_type: + description: The registry type. + type: string + 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 + url: + description: The URL of the private registry. + type: string + format: uri + username: + 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. + type: + - string + - 'null' + replaces_base: + 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. + type: boolean + default: false + encrypted_value: + 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. + type: string + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + key_id: + description: The ID of the key you used to encrypt the secret. + type: string + visibility: + 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. + type: string + enum: + - all + - private + - selected + selected_repository_ids: + 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`. + type: array + items: + type: integer + auth_type: + 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. type: string enum: - token @@ -20688,6 +23538,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp tenant_id: description: The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`. @@ -20720,7 +23571,7 @@ paths: type: string audience: description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. type: string identity_mapping_name: description: The JFrog identity mapping name. Optional for `oidc_jfrog` @@ -20738,312 +23589,15 @@ paths: description: The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default. type: string - required: - - registry_type - - url - - visibility - examples: - org-private-registry-with-private-visibility: - summary: Example of a private registry configuration with private - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - replaces_base: true - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: private - org-private-registry-with-selected-visibility: - summary: Example of a private registry configuration with selected - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - org-private-registry-with-oidc-azure: - summary: Example of an OIDC private registry configuration using Azure - value: - registry_type: docker_registry - url: https://myregistry.azurecr.io - auth_type: oidc_azure - visibility: all - tenant_id: 12345678-1234-1234-1234-123456789012 - client_id: abcdef01-2345-6789-abcd-ef0123456789 - org-private-registry-with-oidc-cloudsmith: - summary: Example of an OIDC private registry configuration using Cloudsmith - value: - registry_type: npm_registry - url: https://npm.cloudsmith.io/my-org/my-repo/ - auth_type: oidc_cloudsmith - visibility: all - namespace: my-org - service_slug: my-service-account - audience: https://github.com/my-org - responses: - '201': - description: The organization private registry configuration - content: - application/json: - schema: - "$ref": "#/components/schemas/org-private-registry-configuration-with-selected-repositories" - examples: - org-private-registry-with-selected-visibility: - "$ref": "#/components/examples/org-private-registry-configuration" - org-private-registry-with-private-visibility: - "$ref": "#/components/examples/org-private-registry-configuration-with-selected-repositories" - '404': - "$ref": "#/components/responses/not_found" - '422': - "$ref": "#/components/responses/validation_failed" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/public-key": - get: - summary: Get private registries public key for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-public-key - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - responses: - '200': - description: Response - content: - application/json: - schema: - type: object - required: - - key_id - - key - properties: - key_id: - description: The identifier for the key. - type: string - examples: - - '012345678912345678' - key: - description: The Base64 encoded public key. - type: string - examples: - - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - examples: - default: - "$ref": "#/components/examples/private-registries-public-key" - headers: - Link: - "$ref": "#/components/headers/link" - '404': - "$ref": "#/components/responses/not_found" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/{secret_name}": - get: - summary: Get a private registry for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - - "$ref": "#/components/parameters/secret-name" - responses: - '200': - description: The specified private registry configuration for the organization - content: - application/json: - schema: - "$ref": "#/components/schemas/org-private-registry-configuration" - examples: - default: - "$ref": "#/components/examples/org-private-registry-configuration" - '404': - "$ref": "#/components/responses/not_found" - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - patch: - summary: Update a private registry for an organization - description: |2- - - 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`, `oidc_jfrog`, or `oidc_cloudsmith`), 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. - tags: - - private-registries - operationId: private-registries/update-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization - parameters: - - "$ref": "#/components/parameters/org" - - "$ref": "#/components/parameters/secret-name" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - registry_type: - description: The registry type. + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. type: string - 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 - url: - description: The URL of the private registry. - type: string - format: uri - username: - 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. - type: - - string - - 'null' - replaces_base: - 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. - type: boolean - default: false - encrypted_value: - 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. - type: string - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - key_id: - description: The ID of the key you used to encrypt the secret. - type: string - visibility: - 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. - type: string - enum: - - all - - private - - selected - selected_repository_ids: - 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`. - type: array - items: - type: integer - auth_type: - 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. - type: string - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - tenant_id: - description: The tenant ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - client_id: - description: The client ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - aws_region: - description: The AWS region. Required when `auth_type` is `oidc_aws`. - type: string - account_id: - description: The AWS account ID. Required when `auth_type` is `oidc_aws`. - type: string - role_name: - description: The AWS IAM role name. Required when `auth_type` is - `oidc_aws`. - type: string - domain: - description: The CodeArtifact domain. Required when `auth_type` - is `oidc_aws`. - type: string - domain_owner: - description: The CodeArtifact domain owner (AWS account ID). Required - when `auth_type` is `oidc_aws`. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. Required when `auth_type` - is `oidc_jfrog`. - type: string - audience: - description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. Optional for `oidc_jfrog` - auth type. - type: string - namespace: - description: The Cloudsmith organization namespace. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - service_slug: - description: The Cloudsmith service account slug. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - api_host: - description: The Cloudsmith API host. Optional for `oidc_cloudsmith` - auth type. If omitted, `api.cloudsmith.io` is used by default. + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). type: string examples: secret-based-update: @@ -23244,6 +25798,7 @@ paths: - "$ref": "#/components/parameters/secret-scanning-alert-publicly-leaked" - "$ref": "#/components/parameters/secret-scanning-alert-multi-repo" - "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + - "$ref": "#/components/parameters/secret-scanning-alert-bypassed" responses: '200': description: Response @@ -25846,6 +28401,111 @@ paths: enabledForGitHubApps: true category: actions subcategory: cache + "/repos/{owner}/{repo}/actions/concurrency_groups": + get: + summary: List concurrency groups for a repository + description: |- + Lists the active concurrency groups for a repository. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/pagination-after" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group-list" + examples: + default: + "$ref": "#/components/examples/concurrency-group-list" + headers: + Link: + "$ref": "#/components/headers/link" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": + get: + summary: Get a concurrency group for a repository + description: |- + Gets a specific concurrency group for a repository, including all instances in the group's queue. + Returns 404 if the group is inactive or does not exist. + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items + ahead of the specified workflow run or job in the queue, plus the specified item itself + (returned as the last element). This is useful for determining what is blocking a particular + run or job. Returns 422 if the specified run or job is not in this concurrency group. + + When using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow + leases held on behalf of that run. Job-level leases within the run are not considered to + block the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow + leases on the job's ancestor paths. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/concurrency-group-name" + - name: ahead_of_run + description: |- + Filter to items ahead of this workflow run ID in the queue, plus the run itself. + Matches workflow-level concurrency and reusable-workflow leases held on behalf of + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: |- + Filter to items ahead of this job ID in the queue, plus the job itself. + Matches job-level concurrency and reusable-workflow leases on the job's + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group" + examples: + default: + "$ref": "#/components/examples/concurrency-group" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/jobs/{job_id}": get: summary: Get a job for a workflow run @@ -27548,6 +30208,64 @@ paths: enabledForGitHubApps: true category: actions subcategory: workflow-runs + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": + get: + summary: List concurrency groups for a workflow run + description: |- + Lists all concurrency groups associated with a workflow run or its jobs. + + The set of groups is derived from the run's configuration, so a group is + included even when the run no longer has any items currently holding or + waiting in it. In that case the `group_members` array will be empty. + `total_count` reflects the number of groups the run participates in by + configuration, not the number with active items. + + This differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + which returns 404 when a group has no active items. That endpoint reports + the live state of a group repo-wide, while this endpoint reports the + groups associated with a specific run by configuration. + + Results are sorted by group name and support cursor-based pagination via + `before` and `after`. The `after` cursor paginates forward only and does + not emit a `rel="prev"` Link; use `before` to page backward from a + forward page's `next` cursor. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - "$ref": "#/components/parameters/owner" + - "$ref": "#/components/parameters/repo" + - "$ref": "#/components/parameters/run-id" + - "$ref": "#/components/parameters/per-page" + - "$ref": "#/components/parameters/pagination-before" + - "$ref": "#/components/parameters/pagination-after" + responses: + '200': + description: Response + content: + application/json: + schema: + "$ref": "#/components/schemas/concurrency-group-run-list" + examples: + default: + "$ref": "#/components/examples/concurrency-group-run-list" + headers: + Link: + "$ref": "#/components/headers/link" + '404': + "$ref": "#/components/responses/not_found" + '422': + "$ref": "#/components/responses/validation_failed" + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": post: summary: Review custom deployment protection rules for a workflow run @@ -48523,6 +51241,7 @@ paths: - "$ref": "#/components/parameters/secret-scanning-alert-publicly-leaked" - "$ref": "#/components/parameters/secret-scanning-alert-multi-repo" - "$ref": "#/components/parameters/secret-scanning-alert-hide-secret" + - "$ref": "#/components/parameters/secret-scanning-alert-bypassed" responses: '200': description: Response @@ -90221,6 +92940,7 @@ components: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -90288,6 +93008,14 @@ components: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity Provider + (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -90338,6 +93066,7 @@ components: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -90410,6 +93139,14 @@ components: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity Provider + (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If omitted, the + federated token is used directly (direct WIF). + type: string created_at: type: string format: date-time @@ -95843,6 +98580,112 @@ components: required: - total_count - actions_caches + concurrency-group-list: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: + - string + - 'null' + format: date-time + concurrency-group: + title: Concurrency Group + description: |- + A concurrency group with the workflow runs and jobs that are either currently holding + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + job_id: + type: integer + description: The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + job_name: + type: string + description: The display name of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending job: title: Job description: Information of a job execution in a workflow run @@ -96546,6 +99389,116 @@ components: - state - user - comment + concurrency-group-run-list: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: |- + The total number of concurrency groups this workflow run participates in, + derived from the run's configuration. This count is not filtered by + whether the run currently holds or is waiting in each group, so it can + include groups whose `group_members` array is empty (for example, when + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: |- + API URL for this concurrency group. May return 404 if the group + has no active items at the time it is requested, since the + get-by-name endpoint reports the live repo-wide state of a group + while this endpoint lists groups associated with a run by + configuration. + group_members: + type: array + description: |- + Items belonging to this workflow run that are either currently holding or + waiting for the concurrency group lease. May be empty if the run no + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + position: + type: integer + description: Queue position. 0 means the item holds the concurrency + lease (in_progress), 1 or higher means queued (pending). + position_url: + type: string + format: uri + description: API URL to get items ahead of this item in the + concurrency group. + job_id: + type: + - integer + - 'null' + description: The ID of the job, when the item represents a job-level + or reusable-workflow-level lease. + job_name: + type: + - string + - 'null' + description: The display name of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending review-custom-gates-comment-required: type: object properties: @@ -232639,6 +235592,41 @@ components: last_accessed_at: '2019-01-24T22:45:36.000Z' created_at: '2019-01-24T22:45:36.000Z' size_in_bytes: 1024 + concurrency-group-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + concurrency-group: + value: + group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending job: value: id: 399444496 @@ -233315,6 +236303,34 @@ components: runner_group_name: my runner group workflow_name: CI head_branch: main + concurrency-group-run-list: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 pending-deployment-items: value: - environment: @@ -250689,6 +253705,17 @@ components: schema: type: boolean default: false + secret-scanning-alert-bypassed: + name: is_bypassed + in: query + description: A boolean value (`true` or `false`) indicating whether to filter + alerts by their push protection bypass status. When set to `true`, only alerts + that were created because a push protection rule was bypassed will be returned. + When set to `false`, only alerts that were not caused by a push protection + bypass will be returned. + required: false + schema: + type: boolean network-configuration-id: name: network_configuration_id description: Unique identifier of the hosted compute network configuration. @@ -250804,6 +253831,13 @@ components: required: true schema: type: integer + concurrency-group-name: + name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string job-id: name: job_id description: The unique identifier of the job. diff --git a/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.json b/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.json index bc80497d4c..75ab4c2f26 100644 --- a/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.json +++ b/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.json @@ -2228,6 +2228,3174 @@ } } }, + "/agents/repos/{owner}/{repo}/tasks": { + "get": { + "summary": "List tasks for repository", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for a specific repository\n\n**Fine-grained access tokens for \"List tasks for repository\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + }, + { + "name": "creator_id", + "in": "query", + "schema": { + "type": "integer" + }, + "description": "Filter tasks by creator user ID" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"prev\" (when current page > 1),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Start a task", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nStarts a new Copilot cloud agent task for a repository.\n\nThis endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription.\n\n**Fine-grained access tokens for \"Start a task\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read and write)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/create-task-in-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + } + ], + "requestBody": { + "required": true, + "description": "The task creation parameters, including the user's prompt and optional agent settings.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The user's prompt for the agent" + }, + "model": { + "type": "string", + "description": "The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5`" + }, + "create_pull_request": { + "type": "boolean", + "description": "Whether to create a PR.", + "default": false + }, + "base_ref": { + "type": "string", + "description": "Base ref for new branch/PR" + } + } + }, + "examples": { + "default": { + "value": { + "prompt": "Fix the login button on the homepage", + "base_ref": "main" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Task created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "queued", + "session_count": 1, + "artifacts": [], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + } + } + } + } + } + }, + "400": { + "description": "Problems parsing JSON", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/repos/{owner}/{repo}/tasks/{task_id}": { + "get": { + "summary": "Get a task by repo", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID scoped to an owner/repo path\n\n**Fine-grained access tokens for \"Get a task by repo\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-repo-and-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks": { + "get": { + "summary": "List tasks", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for the authenticated user\n\n**Fine-grained access tokens for \"List tasks\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks/{task_id}": { + "get": { + "summary": "Get a task by ID", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID with its associated sessions\n\n**Fine-grained access tokens for \"Get a task by ID\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Problems parsing request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, "/app": { "get": { "summary": "Get the authenticated app", @@ -107407,7 +110575,7 @@ "/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}": { "post": { "summary": "Set cluster deployment records", - "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.", + "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.\nNote: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments\narray resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use\nthe artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can\nonly have one name and version.", "tags": [ "orgs" ], @@ -107466,20 +110634,20 @@ "properties": { "name": { "type": "string", - "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", + "description": "The name of the artifact.", "minLength": 1, "maxLength": 256 }, "digest": { "type": "string", - "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", + "description": "The hex encoded digest of the artifact.", "minLength": 71, "maxLength": 71, "pattern": "^sha256:[a-f0-9]{64}$" }, "version": { "type": "string", - "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", + "description": "The artifact version.", "maxLength": 100, "x-multi-segment": true, "examples": [ @@ -195728,7 +198896,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -195813,6 +198982,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -195965,7 +199142,7 @@ }, "post": { "summary": "Create a private registry for an organization", - "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -196056,7 +199233,7 @@ } }, "auth_type": { - "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith` for OIDC authentication.", + "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication.", "type": "string", "enum": [ "token", @@ -196064,7 +199241,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -196100,7 +199278,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -196118,6 +199296,14 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" } }, "required": [ @@ -196176,6 +199362,17 @@ "service_slug": "my-service-account", "audience": "https://github.com/my-org" } + }, + "org-private-registry-with-oidc-gcp": { + "summary": "Example of an OIDC private registry configuration using Google Cloud Artifact Registry", + "value": { + "registry_type": "docker_registry", + "url": "https://us-docker.pkg.dev/my-project/my-repo", + "auth_type": "oidc_gcp", + "visibility": "all", + "workload_identity_provider": "projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider", + "service_account": "dependabot@my-project.iam.gserviceaccount.com" + } } } } @@ -196227,7 +199424,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -196316,6 +199514,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -196655,7 +199861,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -196740,6 +199947,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -196808,7 +200023,7 @@ }, "patch": { "summary": "Update a private registry for an organization", - "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -196916,7 +200131,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -196952,7 +200168,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -196970,6 +200186,14 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" } } }, @@ -245637,6 +248861,15 @@ "type": "boolean", "default": false } + }, + { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { @@ -274712,25 +277945,547 @@ } }, { - "name": "cache_id", - "description": "The unique identifier of the GitHub Actions cache.", + "name": "cache_id", + "description": "The unique identifier of the GitHub Actions cache.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "cache" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a repository", + "description": "Lists the active concurrency groups for a repository.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "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).\"", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "after", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Concurrency Group List", + "description": "A list of active concurrency groups for a repository.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "last_acquired_at" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "last_acquired_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "last_acquired_at": "2026-01-15T16:14:23Z" + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "last_acquired_at": "2026-01-15T16:13:55Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": { + "get": { + "summary": "Get a concurrency group for a repository", + "description": "Gets a specific concurrency group for a repository, including all instances in the group's queue.\nReturns 404 if the group is inactive or does not exist.\n\nOptionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items\nahead of the specified workflow run or job in the queue, plus the specified item itself\n(returned as the last element). This is useful for determining what is blocking a particular\nrun or job. Returns 422 if the specified run or job is not in this concurrency group.\n\nWhen using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow\nleases held on behalf of that run. Job-level leases within the run are not considered to\nblock the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow\nleases on the job's ancestor paths.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/get-concurrency-group-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "concurrency_group_name", + "description": "The name of the concurrency group.", "in": "path", "required": true, "schema": { - "type": "integer" + "type": "string" + } + }, + { + "name": "ahead_of_run", + "description": "Filter to items ahead of this workflow run ID in the queue, plus the run itself.\nMatches workflow-level concurrency and reusable-workflow leases held on behalf of\nthe run. Mutually exclusive with `ahead_of_job`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "ahead_of_job", + "description": "Filter to items ahead of this job ID in the queue, plus the job itself.\nMatches job-level concurrency and reusable-workflow leases on the job's\nancestor paths. Mutually exclusive with `ahead_of_run`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 } } ], "responses": { - "204": { - "description": "Response" + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Concurrency Group", + "description": "A concurrency group with the workflow runs and jobs that are either currently holding\nor waiting for the concurrency group lease.", + "type": "object", + "required": [ + "group_name", + "group_url", + "total_count", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "total_count": { + "type": "integer" + }, + "group_members": { + "type": "array", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "job_id": { + "type": "integer", + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": "string", + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + }, + "examples": { + "default": { + "value": { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "total_count": 3, + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress" + }, + { + "run_id": 30433643, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", + "status": "pending" + }, + { + "run_id": 30433644, + "run_name": "Deploy hotfix", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", + "job_id": 798245260, + "job_name": "deploy", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", + "status": "pending" + } + ] + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } } }, "x-github": { "githubCloudOnly": false, "enabledForGitHubApps": true, "category": "actions", - "subcategory": "cache" + "subcategory": "concurrency-groups" } } }, @@ -292096,99 +295851,386 @@ } }, { - "name": "attempt_number", - "description": "The attempt number of the workflow run.", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "302": { - "description": "Response", - "headers": { - "Location": { - "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", - "schema": { - "type": "string" - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "actions", - "subcategory": "workflow-runs" - } - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - "post": { - "summary": "Cancel a workflow run", - "description": "Cancels a workflow run using its `id`.\n\nOAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.", - "tags": [ - "actions" - ], - "operationId": "actions/cancel-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run" - }, - "parameters": [ - { - "name": "owner", - "description": "The account owner of the repository. The name is not case sensitive.", - "in": "path", - "required": true, + "name": "attempt_number", + "description": "The attempt number of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "302": { + "description": "Response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + "post": { + "summary": "Cancel a workflow run", + "description": "Cancels a workflow run using its `id`.\n\nOAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/cancel-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The unique identifier of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "202": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Empty Object", + "description": "An object without any properties.", + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "examples": { + "default": { + "value": null + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a workflow run", + "description": "Lists all concurrency groups associated with a workflow run or its jobs.\n\nThe set of groups is derived from the run's configuration, so a group is\nincluded even when the run no longer has any items currently holding or\nwaiting in it. In that case the `group_members` array will be empty.\n`total_count` reflects the number of groups the run participates in by\nconfiguration, not the number with active items.\n\nThis differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`,\nwhich returns 404 when a group has no active items. That endpoint reports\nthe live state of a group repo-wide, while this endpoint reports the\ngroups associated with a specific run by configuration.\n\nResults are sorted by group name and support cursor-based pagination via\n`before` and `after`. The `after` cursor paginates forward only and does\nnot emit a `rel=\"prev\"` Link; use `before` to page backward from a\nforward page's `next` cursor.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The unique identifier of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "description": "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).\"", + "in": "query", "schema": { - "type": "string" + "type": "integer", + "default": 30 } }, { - "name": "repo", - "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", - "in": "path", - "required": true, + "name": "before", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. 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).\"", + "in": "query", + "required": false, "schema": { "type": "string" } }, { - "name": "run_id", - "description": "The unique identifier of the workflow run.", - "in": "path", - "required": true, + "name": "after", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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).\"", + "in": "query", + "required": false, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { - "202": { + "200": { "description": "Response", "content": { "application/json": { "schema": { - "title": "Empty Object", - "description": "An object without any properties.", + "title": "Concurrency Group Run List", + "description": "A list of concurrency groups associated with a workflow run.", "type": "object", - "properties": {}, - "additionalProperties": false + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer", + "description": "The total number of concurrency groups this workflow run participates in,\nderived from the run's configuration. This count is not filtered by\nwhether the run currently holds or is waiting in each group, so it can\ninclude groups whose `group_members` array is empty (for example, when\nthe run has already released its lease in that group)." + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group. May return 404 if the group\nhas no active items at the time it is requested, since the\nget-by-name endpoint reports the live repo-wide state of a group\nwhile this endpoint lists groups associated with a run by\nconfiguration." + }, + "group_members": { + "type": "array", + "description": "Items belonging to this workflow run that are either currently holding or\nwaiting for the concurrency group lease. May be empty if the run no\nlonger has any active or queued items in this group.", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status", + "position", + "position_url" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "position": { + "type": "integer", + "description": "Queue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending)." + }, + "position_url": { + "type": "string", + "format": "uri", + "description": "API URL to get items ahead of this item in the concurrency group." + }, + "job_id": { + "type": [ + "integer", + "null" + ], + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": [ + "string", + "null" + ], + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + } + } + } }, "examples": { "default": { - "value": null + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress", + "position": 0, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" + } + ] + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "pending", + "position": 2, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", + "job_id": 798245260, + "job_name": "build", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" + } + ] + } + ] + } } } } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } } }, - "409": { - "description": "Conflict", + "404": { + "description": "Resource not found", "content": { "application/json": { "schema": { @@ -292212,13 +296254,88 @@ } } } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } } }, "x-github": { "githubCloudOnly": false, "enabledForGitHubApps": true, "category": "actions", - "subcategory": "workflow-runs" + "subcategory": "concurrency-groups" } } }, @@ -631741,6 +635858,15 @@ "type": "boolean", "default": false } + }, + { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { diff --git a/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.yaml b/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.yaml index d8f4e05b86..db22f66959 100644 --- a/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.yaml +++ b/descriptions-next/api.github.com/dereferenced/api.github.com.2022-11-28.deref.yaml @@ -1078,7 +1078,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory parameters: - - &644 + - &645 name: ghsa_id description: The GHSA (GitHub Security Advisory) identifier of the advisory. in: path @@ -1168,6 +1168,2530 @@ paths: enabledForGitHubApps: true category: security-advisories subcategory: global-advisories + "/agents/repos/{owner}/{repo}/tasks": + get: + summary: List tasks for repository + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for a specific repository + + **Fine-grained access tokens for "List tasks for repository"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks-for-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + - name: creator_id + in: query + schema: + type: integer + description: Filter tasks by creator user ID + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="prev" (when current page > 1), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; + rel="next", ; + rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + post: + summary: Start a task + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Starts a new Copilot cloud agent task for a repository. + + This endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription. + + **Fine-grained access tokens for "Start a task"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read and write) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/create-task-in-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + requestBody: + required: true + description: The task creation parameters, including the user's prompt and + optional agent settings. + content: + application/json: + schema: + type: object + required: + - prompt + properties: + prompt: + type: string + description: The user's prompt for the agent + model: + type: string + description: 'The model to use for this task. The allowed models + may change over time and depend on the user''s GitHub Copilot + plan and organization policies. Currently supported values: `claude-sonnet-4.6`, + `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, + `claude-sonnet-4.5`, `claude-opus-4.5`' + create_pull_request: + type: boolean + description: Whether to create a PR. + default: false + base_ref: + type: string + description: Base ref for new branch/PR + examples: + default: + value: + prompt: Fix the login button on the homepage + base_ref: main + responses: + '201': + description: Task created successfully + content: + application/json: + schema: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + artifacts: [] + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '400': + description: Problems parsing JSON + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/repos/{owner}/{repo}/tasks/{task_id}": + get: + summary: Get a task by repo + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID scoped to an owner/repo path + + **Fine-grained access tokens for "Get a task by repo"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-repo-and-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks": + get: + summary: List tasks + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for the authenticated user + + **Fine-grained access tokens for "List tasks"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; rel="next", + ; rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks/{task_id}": + get: + summary: Get a task by ID + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID with its associated sessions + + **Fine-grained access tokens for "Get a task by ID"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Problems parsing request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation "/app": get: summary: Get the authenticated app @@ -11912,7 +14436,7 @@ paths: properties: action: type: string - discussion: &735 + discussion: &736 title: Discussion description: A Discussion in a repository. type: object @@ -12696,7 +15220,7 @@ paths: - hooray - eyes - rocket - sub_issues_summary: &655 + sub_issues_summary: &656 title: Sub-issues Summary type: object properties: @@ -12807,7 +15331,7 @@ paths: - url - created_at - updated_at - issue_dependencies_summary: &656 + issue_dependencies_summary: &657 title: Issue Dependencies Summary type: object properties: @@ -14292,7 +16816,7 @@ paths: url: type: string format: uri - user: &662 + user: &663 title: Public User description: Public User type: object @@ -19651,7 +22175,7 @@ paths: required: false schema: type: string - - &712 + - &713 name: model description: The model name to query usage for. The name is not case sensitive. in: query @@ -19797,7 +22321,7 @@ paths: parameters: - *74 - *116 - - &713 + - &714 name: month description: If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the @@ -19909,7 +22433,7 @@ paths: - *116 - *118 - *117 - - &714 + - &715 name: repository description: The repository name to query for usage in the format owner/repository. in: query @@ -19917,7 +22441,7 @@ paths: schema: type: string - *119 - - &715 + - &716 name: sku description: The SKU to query for usage. in: query @@ -26264,6 +28788,10 @@ paths: 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. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records @@ -26306,24 +28834,18 @@ paths: properties: name: type: string - description: | - The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name parameter must also be identical across all entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: | - The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name and version parameters must also be identical across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: "^sha256:[a-f0-9]{64}$" version: type: string - description: | - The artifact version. Note that if multiple deployments have identical 'digest' parameter values, - the version parameter must also be identical across all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true examples: @@ -26800,12 +29322,12 @@ paths: required: - subject_digests examples: - default: &693 + default: &694 value: subject_digests: - sha256:abc123 - sha512:def456 - withPredicateType: &694 + withPredicateType: &695 value: subject_digests: - sha256:abc123 @@ -26864,7 +29386,7 @@ paths: description: The cursor to the previous page. description: Information about the current page. examples: - default: &695 + default: &696 value: attestations_subject_digests: - sha256:abc: @@ -39469,7 +41991,7 @@ paths: parameters: - *74 - *248 - - &676 + - &677 name: repo_name description: repo_name parameter in: path @@ -40530,7 +43052,7 @@ paths: - nuget - container - *74 - - &677 + - &678 name: visibility description: |- The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -40571,7 +43093,7 @@ paths: default: *254 '403': *27 '401': *23 - '400': &679 + '400': &680 description: The value of `per_page` multiplied by `page` cannot be greater than 10000. x-github: @@ -41797,6 +44319,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -41867,6 +44390,15 @@ paths: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload + Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. + If omitted, the federated token is used directly (direct + WIF). + type: string created_at: type: string format: date-time @@ -41904,7 +44436,7 @@ paths: description: |2- 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`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. tags: @@ -41998,7 +44530,477 @@ paths: auth_type: description: The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, - or `oidc_cloudsmith` for OIDC authentication. + `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication. + type: string + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + tenant_id: + description: The tenant ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + client_id: + description: The client ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + aws_region: + description: The AWS region. Required when `auth_type` is `oidc_aws`. + type: string + account_id: + description: The AWS account ID. Required when `auth_type` is `oidc_aws`. + type: string + role_name: + description: The AWS IAM role name. Required when `auth_type` is + `oidc_aws`. + type: string + domain: + description: The CodeArtifact domain. Required when `auth_type` + is `oidc_aws`. + type: string + domain_owner: + description: The CodeArtifact domain owner (AWS account ID). Required + when `auth_type` is `oidc_aws`. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. Required when `auth_type` + is `oidc_jfrog`. + type: string + audience: + description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. Optional for `oidc_jfrog` + auth type. + type: string + namespace: + description: The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: The Cloudsmith API host. Optional for `oidc_cloudsmith` + auth type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). + type: string + required: + - registry_type + - url + - visibility + examples: + org-private-registry-with-private-visibility: + summary: Example of a private registry configuration with private + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + replaces_base: true + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: private + org-private-registry-with-selected-visibility: + summary: Example of a private registry configuration with selected + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + org-private-registry-with-oidc-azure: + summary: Example of an OIDC private registry configuration using Azure + value: + registry_type: docker_registry + url: https://myregistry.azurecr.io + auth_type: oidc_azure + visibility: all + tenant_id: 12345678-1234-1234-1234-123456789012 + client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: Example of an OIDC private registry configuration using Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com + responses: + '201': + description: The organization private registry configuration + content: + application/json: + schema: + title: Organization private registry + description: Private registry configuration for an organization + type: object + properties: + name: + description: The name of the private registry configuration. + type: string + examples: + - MAVEN_REPOSITORY_SECRET + registry_type: + description: The 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 + auth_type: + description: The authentication type for the private registry. + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + type: string + url: + description: The URL of the private registry. + type: string + format: uri + username: + description: The username to use when authenticating with the + private registry. + type: string + examples: + - monalisa + replaces_base: + 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. + type: boolean + default: false + visibility: + 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. + enum: + - all + - private + - selected + type: string + selected_repository_ids: + type: array + description: An array of repository IDs that can access the organization + private registry when `visibility` is set to `selected`. + items: + type: integer + tenant_id: + description: The tenant ID of the Azure AD application. + type: string + client_id: + description: The client ID of the Azure AD application. + type: string + aws_region: + description: The AWS region. + type: string + account_id: + description: The AWS account ID. + type: string + role_name: + description: The AWS IAM role name. + type: string + domain: + description: The CodeArtifact domain. + type: string + domain_owner: + description: The CodeArtifact domain owner. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. + type: string + audience: + description: The OIDC audience. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. + type: string + namespace: + description: The Cloudsmith organization namespace. + type: string + service_slug: + description: The Cloudsmith service account slug. + type: string + api_host: + description: The Cloudsmith API host. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If + omitted, the federated token is used directly (direct WIF). + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - name + - registry_type + - visibility + - created_at + - updated_at + examples: + org-private-registry-with-selected-visibility: &268 + value: + name: MAVEN_REPOSITORY_SECRET + registry_type: maven_repository + username: monalisa + visibility: private + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + org-private-registry-with-private-visibility: + value: + name: MAVEN_REPOSITORY_SECRET + registry_type: maven_repository + username: monalisa + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/public-key": + get: + summary: Get private registries public key for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-public-key + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + parameters: + - *74 + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - key_id + - key + properties: + key_id: + description: The identifier for the key. + type: string + examples: + - '012345678912345678' + key: + description: The Base64 encoded public key. + type: string + examples: + - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + examples: + default: + value: + key_id: '012345678912345678' + key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + headers: + Link: *66 + '404': *6 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/{secret_name}": + get: + summary: Get a private registry for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + parameters: + - *74 + - *161 + responses: + '200': + description: The specified private registry configuration for the organization + content: + application/json: + schema: *267 + examples: + default: *268 + '404': *6 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + patch: + summary: Update a private registry for an organization + description: |2- + + 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`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. + tags: + - private-registries + operationId: private-registries/update-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + parameters: + - *74 + - *161 + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + registry_type: + description: The registry type. + type: string + 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 + url: + description: The URL of the private registry. + type: string + format: uri + username: + 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. + type: + - string + - 'null' + replaces_base: + 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. + type: boolean + default: false + encrypted_value: + 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. + type: string + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + key_id: + description: The ID of the key you used to encrypt the secret. + type: string + visibility: + 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. + type: string + enum: + - all + - private + - selected + selected_repository_ids: + 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`. + type: array + items: + type: integer + auth_type: + 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. type: string enum: - token @@ -42007,6 +45009,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp tenant_id: description: The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`. @@ -42039,7 +45042,7 @@ paths: type: string audience: description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. type: string identity_mapping_name: description: The JFrog identity mapping name. Optional for `oidc_jfrog` @@ -42057,445 +45060,15 @@ paths: description: The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default. type: string - required: - - registry_type - - url - - visibility - examples: - org-private-registry-with-private-visibility: - summary: Example of a private registry configuration with private - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - replaces_base: true - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: private - org-private-registry-with-selected-visibility: - summary: Example of a private registry configuration with selected - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - org-private-registry-with-oidc-azure: - summary: Example of an OIDC private registry configuration using Azure - value: - registry_type: docker_registry - url: https://myregistry.azurecr.io - auth_type: oidc_azure - visibility: all - tenant_id: 12345678-1234-1234-1234-123456789012 - client_id: abcdef01-2345-6789-abcd-ef0123456789 - org-private-registry-with-oidc-cloudsmith: - summary: Example of an OIDC private registry configuration using Cloudsmith - value: - registry_type: npm_registry - url: https://npm.cloudsmith.io/my-org/my-repo/ - auth_type: oidc_cloudsmith - visibility: all - namespace: my-org - service_slug: my-service-account - audience: https://github.com/my-org - responses: - '201': - description: The organization private registry configuration - content: - application/json: - schema: - title: Organization private registry - description: Private registry configuration for an organization - type: object - properties: - name: - description: The name of the private registry configuration. - type: string - examples: - - MAVEN_REPOSITORY_SECRET - registry_type: - description: The 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 - auth_type: - description: The authentication type for the private registry. - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - type: string - url: - description: The URL of the private registry. - type: string - format: uri - username: - description: The username to use when authenticating with the - private registry. - type: string - examples: - - monalisa - replaces_base: - 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. - type: boolean - default: false - visibility: - 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. - enum: - - all - - private - - selected - type: string - selected_repository_ids: - type: array - description: An array of repository IDs that can access the organization - private registry when `visibility` is set to `selected`. - items: - type: integer - tenant_id: - description: The tenant ID of the Azure AD application. - type: string - client_id: - description: The client ID of the Azure AD application. - type: string - aws_region: - description: The AWS region. - type: string - account_id: - description: The AWS account ID. - type: string - role_name: - description: The AWS IAM role name. - type: string - domain: - description: The CodeArtifact domain. - type: string - domain_owner: - description: The CodeArtifact domain owner. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. - type: string - audience: - description: The OIDC audience. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. - type: string - namespace: - description: The Cloudsmith organization namespace. - type: string - service_slug: - description: The Cloudsmith service account slug. - type: string - api_host: - description: The Cloudsmith API host. - type: string - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - required: - - name - - registry_type - - visibility - - created_at - - updated_at - examples: - org-private-registry-with-selected-visibility: &268 - value: - name: MAVEN_REPOSITORY_SECRET - registry_type: maven_repository - username: monalisa - visibility: private - created_at: '2019-08-10T14:59:22Z' - updated_at: '2020-01-10T14:59:22Z' - org-private-registry-with-private-visibility: - value: - name: MAVEN_REPOSITORY_SECRET - registry_type: maven_repository - username: monalisa - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - created_at: '2019-08-10T14:59:22Z' - updated_at: '2020-01-10T14:59:22Z' - '404': *6 - '422': *15 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/public-key": - get: - summary: Get private registries public key for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-public-key - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization - parameters: - - *74 - responses: - '200': - description: Response - content: - application/json: - schema: - type: object - required: - - key_id - - key - properties: - key_id: - description: The identifier for the key. - type: string - examples: - - '012345678912345678' - key: - description: The Base64 encoded public key. - type: string - examples: - - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - examples: - default: - value: - key_id: '012345678912345678' - key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - headers: - Link: *66 - '404': *6 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/{secret_name}": - get: - summary: Get a private registry for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization - parameters: - - *74 - - *161 - responses: - '200': - description: The specified private registry configuration for the organization - content: - application/json: - schema: *267 - examples: - default: *268 - '404': *6 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - patch: - summary: Update a private registry for an organization - description: |2- - - 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`, `oidc_jfrog`, or `oidc_cloudsmith`), 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. - tags: - - private-registries - operationId: private-registries/update-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization - parameters: - - *74 - - *161 - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - registry_type: - description: The registry type. + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. type: string - 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 - url: - description: The URL of the private registry. - type: string - format: uri - username: - 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. - type: - - string - - 'null' - replaces_base: - 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. - type: boolean - default: false - encrypted_value: - 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. - type: string - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - key_id: - description: The ID of the key you used to encrypt the secret. - type: string - visibility: - 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. - type: string - enum: - - all - - private - - selected - selected_repository_ids: - 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`. - type: array - items: - type: integer - auth_type: - 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. - type: string - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - tenant_id: - description: The tenant ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - client_id: - description: The client ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - aws_region: - description: The AWS region. Required when `auth_type` is `oidc_aws`. - type: string - account_id: - description: The AWS account ID. Required when `auth_type` is `oidc_aws`. - type: string - role_name: - description: The AWS IAM role name. Required when `auth_type` is - `oidc_aws`. - type: string - domain: - description: The CodeArtifact domain. Required when `auth_type` - is `oidc_aws`. - type: string - domain_owner: - description: The CodeArtifact domain owner (AWS account ID). Required - when `auth_type` is `oidc_aws`. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. Required when `auth_type` - is `oidc_jfrog`. - type: string - audience: - description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. Optional for `oidc_jfrog` - auth type. - type: string - namespace: - description: The Cloudsmith organization namespace. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - service_slug: - description: The Cloudsmith service account slug. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - api_host: - description: The Cloudsmith API host. Optional for `oidc_cloudsmith` - auth type. If omitted, `api.cloudsmith.io` is used by default. + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). type: string examples: secret-based-update: @@ -42651,7 +45224,7 @@ paths: latest_status_update: anyOf: - type: 'null' - - &763 + - &764 title: Projects v2 Status Update description: An status update belonging to a project type: object @@ -43549,7 +46122,7 @@ paths: - updated_at - project_url examples: - default: &699 + default: &700 value: - id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -43726,7 +46299,7 @@ paths: description: The options available for single select fields. At least one option must be provided when creating a single select field. - items: &700 + items: &701 type: object properties: name: @@ -43763,7 +46336,7 @@ paths: description: The field's data type. enum: - iteration - iteration_configuration: &701 + iteration_configuration: &702 type: object description: The configuration for iteration fields. properties: @@ -43813,7 +46386,7 @@ paths: value: name: Due date data_type: date - single_select_field: &702 + single_select_field: &703 summary: Create a single select field value: name: Priority @@ -43840,7 +46413,7 @@ paths: description: raw: High priority items html: High priority items - iteration_field: &703 + iteration_field: &704 summary: Create an iteration field value: name: Sprint @@ -43866,7 +46439,7 @@ paths: application/json: schema: *274 examples: - text_field: &704 + text_field: &705 value: id: 24680 node_id: PVTF_lADOABCD2468024680 @@ -43875,7 +46448,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-05-15T08:00:00Z' updated_at: '2022-05-15T08:00:00Z' - number_field: &705 + number_field: &706 value: id: 13579 node_id: PVTF_lADOABCD1357913579 @@ -43884,7 +46457,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-06-01T14:30:00Z' updated_at: '2022-06-01T14:30:00Z' - date_field: &706 + date_field: &707 value: id: 98765 node_id: PVTF_lADOABCD9876598765 @@ -43893,7 +46466,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-06-10T09:15:00Z' updated_at: '2022-06-10T09:15:00Z' - single_select_field: &707 + single_select_field: &708 value: id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -43927,7 +46500,7 @@ paths: raw: High priority items created_at: '2022-04-28T12:00:00Z' updated_at: '2022-04-28T12:00:00Z' - iteration_field: &708 + iteration_field: &709 value: id: 11223 node_id: PVTF_lADOABCD1122311223 @@ -43973,7 +46546,7 @@ paths: url: https://docs.github.com/rest/projects/fields#get-project-field-for-organization parameters: - *271 - - &709 + - &710 name: field_id description: The unique identifier of the field. in: path @@ -43988,7 +46561,7 @@ paths: application/json: schema: *274 examples: - default: &710 + default: &711 value: id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -45199,7 +47772,7 @@ paths: description: Response for creating a view in an organization-owned project. content: application/json: - schema: &690 + schema: &691 title: Projects v2 View description: A view inside a projects v2 project type: object @@ -45382,7 +47955,7 @@ paths: parameters: - *271 - *74 - - &711 + - &712 name: view_number description: The number that identifies the project view. in: path @@ -49514,6 +52087,17 @@ paths: schema: type: boolean default: false + - &622 + name: is_bypassed + in: query + description: A boolean value (`true` or `false`) indicating whether to filter + alerts by their push protection bypass status. When set to `true`, only + alerts that were created because a push protection rule was bypassed will + be returned. When set to `false`, only alerts that were not caused by a + push protection bypass will be returned. + required: false + schema: + type: boolean responses: '200': description: Response @@ -49537,14 +52121,14 @@ paths: format: uri description: The REST API URL of the code locations for this alert. - state: &622 + state: &623 description: Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. type: string enum: - open - resolved - resolution: &623 + resolution: &624 type: - string - 'null' @@ -49663,14 +52247,14 @@ paths: first_location_detected: anyOf: - type: 'null' - - &624 + - &625 description: 'Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. ' oneOf: - - &626 + - &627 description: Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. @@ -49734,7 +52318,7 @@ paths: - blob_url - commit_sha - commit_url - - &627 + - &628 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. @@ -49795,7 +52379,7 @@ paths: - page_url - commit_sha - commit_url - - &628 + - &629 description: Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. @@ -49817,7 +52401,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1 required: - issue_title_url - - &629 + - &630 description: Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. @@ -49839,7 +52423,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1 required: - issue_body_url - - &630 + - &631 description: Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. @@ -49861,7 +52445,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1#issuecomment-1081119451 required: - issue_comment_url - - &631 + - &632 description: Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. @@ -49876,7 +52460,7 @@ paths: - https://github.com/community/community/discussions/39082 required: - discussion_title_url - - &632 + - &633 description: Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. @@ -49891,7 +52475,7 @@ paths: - https://github.com/community/community/discussions/39082#discussion-4566270 required: - discussion_body_url - - &633 + - &634 description: Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. @@ -49906,7 +52490,7 @@ paths: - https://github.com/community/community/discussions/39082#discussioncomment-4158232 required: - discussion_comment_url - - &634 + - &635 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. @@ -49928,7 +52512,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846 required: - pull_request_title_url - - &635 + - &636 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. @@ -49950,7 +52534,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846 required: - pull_request_body_url - - &636 + - &637 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. @@ -49972,7 +52556,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846#issuecomment-1081119451 required: - pull_request_comment_url - - &637 + - &638 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. @@ -49994,7 +52578,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846#pullrequestreview-80 required: - pull_request_review_url - - &638 + - &639 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 @@ -50515,7 +53099,7 @@ paths: application/json: schema: type: array - items: &642 + items: &643 description: A repository security advisory. type: object properties: @@ -50834,7 +53418,7 @@ paths: - private_fork additionalProperties: false examples: - default: &643 + default: &644 value: - ghsa_id: GHSA-abcd-1234-efgh cve_id: CVE-2050-00000 @@ -52909,7 +55493,7 @@ paths: - state - url examples: - response-if-user-is-a-team-maintainer: &658 + response-if-user-is-a-team-maintainer: &659 summary: Response if user is a team maintainer value: url: https://api.github.com/teams/1/memberships/octocat @@ -52974,7 +55558,7 @@ paths: application/json: schema: *330 examples: - response-if-users-membership-with-team-is-now-pending: &659 + response-if-users-membership-with-team-is-now-pending: &660 summary: Response if user's membership with team is now pending value: url: https://api.github.com/teams/1/memberships/octocat @@ -53088,7 +55672,7 @@ paths: description: Alternative response with repository permissions content: application/json: - schema: &660 + schema: &661 title: Team Repository description: A team's access to a repository. type: object @@ -53817,7 +56401,7 @@ paths: type: array items: *191 examples: - response-if-child-teams-exist: &661 + response-if-child-teams-exist: &662 value: - id: 2 node_id: MDQ6VGVhbTI= @@ -55677,6 +58261,245 @@ paths: enabledForGitHubApps: true category: actions subcategory: cache + "/repos/{owner}/{repo}/actions/concurrency_groups": + get: + summary: List concurrency groups for a repository + description: |- + Lists the active concurrency groups for a repository. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - *331 + - *332 + - *17 + - *46 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: + - string + - 'null' + format: date-time + examples: + default: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + headers: + Link: *66 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": + get: + summary: Get a concurrency group for a repository + description: |- + Gets a specific concurrency group for a repository, including all instances in the group's queue. + Returns 404 if the group is inactive or does not exist. + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items + ahead of the specified workflow run or job in the queue, plus the specified item itself + (returned as the last element). This is useful for determining what is blocking a particular + run or job. Returns 422 if the specified run or job is not in this concurrency group. + + When using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow + leases held on behalf of that run. Job-level leases within the run are not considered to + block the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow + leases on the job's ancestor paths. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - *331 + - *332 + - name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string + - name: ahead_of_run + description: |- + Filter to items ahead of this workflow run ID in the queue, plus the run itself. + Matches workflow-level concurrency and reusable-workflow leases held on behalf of + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: |- + Filter to items ahead of this job ID in the queue, plus the job itself. + Matches job-level concurrency and reusable-workflow leases on the job's + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group + description: |- + A concurrency group with the workflow runs and jobs that are either currently holding + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + job_id: + type: integer + description: The ID of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_name: + type: string + description: The display name of the job, when the item + represents a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending + examples: + default: + value: + group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/jobs/{job_id}": get: summary: Get a job for a workflow run @@ -58730,6 +61553,198 @@ paths: enabledForGitHubApps: true category: actions subcategory: workflow-runs + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": + get: + summary: List concurrency groups for a workflow run + description: |- + Lists all concurrency groups associated with a workflow run or its jobs. + + The set of groups is derived from the run's configuration, so a group is + included even when the run no longer has any items currently holding or + waiting in it. In that case the `group_members` array will be empty. + `total_count` reflects the number of groups the run participates in by + configuration, not the number with active items. + + This differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + which returns 404 when a group has no active items. That endpoint reports + the live state of a group repo-wide, while this endpoint reports the + groups associated with a specific run by configuration. + + Results are sorted by group name and support cursor-based pagination via + `before` and `after`. The `after` cursor paginates forward only and does + not emit a `rel="prev"` Link; use `before` to page backward from a + forward page's `next` cursor. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - *331 + - *332 + - *369 + - *17 + - *45 + - *46 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow + run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: |- + The total number of concurrency groups this workflow run participates in, + derived from the run's configuration. This count is not filtered by + whether the run currently holds or is waiting in each group, so it can + include groups whose `group_members` array is empty (for example, when + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: |- + API URL for this concurrency group. May return 404 if the group + has no active items at the time it is requested, since the + get-by-name endpoint reports the live repo-wide state of a group + while this endpoint lists groups associated with a run by + configuration. + group_members: + type: array + description: |- + Items belonging to this workflow run that are either currently holding or + waiting for the concurrency group lease. May be empty if the run no + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + position: + type: integer + description: Queue position. 0 means the item holds + the concurrency lease (in_progress), 1 or higher + means queued (pending). + position_url: + type: string + format: uri + description: API URL to get items ahead of this item + in the concurrency group. + job_id: + type: + - integer + - 'null' + description: The ID of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_name: + type: + - string + - 'null' + description: The display name of the job, when the + item represents a job-level or reusable-workflow-level + lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending + examples: + default: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 + headers: + Link: *66 + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": post: summary: Review custom deployment protection rules for a workflow run @@ -64999,7 +68014,7 @@ paths: check. type: array items: *85 - deployment: &724 + deployment: &725 title: Deployment description: A deployment created as the result of an Actions check run from a workflow that references an environment @@ -70254,7 +73269,7 @@ paths: type: array items: *452 examples: - default: &667 + default: &668 value: total_count: 2 machines: @@ -73431,7 +76446,7 @@ paths: application/json: schema: type: array - items: &647 + items: &648 title: Status description: The status of a commit. type: object @@ -75057,7 +78072,7 @@ paths: items: type: object properties: - placeholder_id: &639 + placeholder_id: &640 description: The ID of the push protection bypass placeholder. This value is returned on any push protected routes. @@ -81058,7 +84073,7 @@ paths: format: uri examples: - https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries - last_response: &755 + last_response: &756 title: Hook Response type: object properties: @@ -82127,7 +85142,7 @@ paths: parameters: - *331 - *332 - - &688 + - &689 name: since description: A user ID. Only return users with an ID greater than this ID. in: query @@ -82561,7 +85576,7 @@ paths: type: array items: *528 examples: - default: &681 + default: &682 value: - id: 1 repository: @@ -96970,6 +99985,7 @@ paths: - *619 - *620 - *621 + - *622 responses: '200': description: Response @@ -96977,7 +99993,7 @@ paths: application/json: schema: type: array - items: &625 + items: &626 type: object properties: number: *171 @@ -96993,8 +100009,8 @@ paths: format: uri description: The REST API URL of the code locations for this alert. - state: *622 - resolution: *623 + state: *623 + resolution: *624 resolved_at: type: - string @@ -97100,7 +100116,7 @@ paths: first_location_detected: anyOf: - type: 'null' - - *624 + - *625 has_more_locations: type: boolean description: A boolean value representing whether or not the @@ -97268,7 +100284,7 @@ paths: description: Response content: application/json: - schema: *625 + schema: *626 examples: default: value: @@ -97332,8 +100348,8 @@ paths: schema: type: object properties: - state: *622 - resolution: *623 + state: *623 + resolution: *624 resolution_comment: description: An optional comment when closing or reopening an alert. Cannot be updated or deleted. @@ -97381,7 +100397,7 @@ paths: description: Response content: application/json: - schema: *625 + schema: *626 examples: default: value: @@ -97490,7 +100506,7 @@ paths: schema: type: array description: List of locations where the secret was detected - items: &775 + items: &776 type: object properties: type: @@ -97517,7 +100533,6 @@ paths: - commit details: oneOf: - - *626 - *627 - *628 - *629 @@ -97530,6 +100545,7 @@ paths: - *636 - *637 - *638 + - *639 examples: default: value: @@ -97624,14 +100640,14 @@ paths: schema: type: object properties: - reason: &640 + reason: &641 description: The reason for bypassing push protection. type: string enum: - false_positive - used_in_tests - will_fix_later - placeholder_id: *639 + placeholder_id: *640 required: - reason - placeholder_id @@ -97648,7 +100664,7 @@ paths: schema: type: object properties: - reason: *640 + reason: *641 expire_at: type: - string @@ -97711,7 +100727,7 @@ paths: properties: incremental_scans: type: array - items: &641 + items: &642 description: Information on a single scan performed by secret scanning on the repository type: object @@ -97739,15 +100755,15 @@ paths: the scan is pending pattern_update_scans: type: array - items: *641 + items: *642 backfill_scans: type: array - items: *641 + items: *642 custom_pattern_backfill_scans: type: array items: allOf: - - *641 + - *642 - type: object properties: pattern_name: @@ -97760,7 +100776,7 @@ paths: one of "repository", "organization", or "enterprise" generic_secrets_backfill_scans: type: array - items: *641 + items: *642 examples: default: value: @@ -97870,9 +100886,9 @@ paths: application/json: schema: type: array - items: *642 + items: *643 examples: - default: *643 + default: *644 '400': *14 '404': *6 x-github: @@ -98066,9 +101082,9 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: &645 + default: &646 value: ghsa_id: GHSA-abcd-1234-efgh cve_id: CVE-2050-00000 @@ -98415,7 +101431,7 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: default: value: @@ -98564,15 +101580,15 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '200': description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: *645 + default: *646 '403': *27 '404': *6 x-github: @@ -98598,7 +101614,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 requestBody: required: true content: @@ -98769,10 +101785,10 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: *645 - add_credit: *645 + default: *646 + add_credit: *646 '403': *27 '404': *6 '422': @@ -98812,7 +101828,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '202': *37 '400': *14 @@ -98841,7 +101857,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '202': description: Response @@ -98982,7 +101998,7 @@ paths: application/json: schema: type: array - items: &646 + items: &647 title: Code Frequency Stat description: Code Frequency Stat type: array @@ -99355,7 +102371,7 @@ paths: application/json: schema: type: array - items: *646 + items: *647 examples: default: value: @@ -99445,7 +102461,7 @@ paths: description: Response content: application/json: - schema: *647 + schema: *648 examples: default: value: @@ -99539,7 +102555,7 @@ paths: description: if you subscribe to the repository content: application/json: - schema: &648 + schema: &649 title: Repository Invitation description: Repository invitations let you manage who you collaborate with. @@ -99639,7 +102655,7 @@ paths: description: Response content: application/json: - schema: *648 + schema: *649 examples: default: value: @@ -99849,7 +102865,7 @@ paths: description: Response content: application/json: - schema: &649 + schema: &650 title: Topic description: A topic aggregates entities that are related to a subject. type: object @@ -99861,7 +102877,7 @@ paths: required: - names examples: - default: &650 + default: &651 value: names: - octocat @@ -99916,9 +102932,9 @@ paths: description: Response content: application/json: - schema: *649 + schema: *650 examples: - default: *650 + default: *651 '404': *6 '422': *7 x-github: @@ -99941,7 +102957,7 @@ paths: parameters: - *331 - *332 - - &651 + - &652 name: per description: The time frame to display results for. in: query @@ -99972,7 +102988,7 @@ paths: - 128 clones: type: array - items: &652 + items: &653 title: Traffic type: object properties: @@ -100220,7 +103236,7 @@ paths: parameters: - *331 - *332 - - *651 + - *652 responses: '200': description: Response @@ -100241,7 +103257,7 @@ paths: - 3782 views: type: array - items: *652 + items: *653 required: - uniques - count @@ -101014,7 +104030,7 @@ paths: examples: - 73..77 - 77..78 - text_matches: &653 + text_matches: &654 title: Search Result Text Matches type: array items: @@ -101177,7 +104193,7 @@ paths: enum: - author-date - committer-date - - &654 + - &655 name: order description: Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter @@ -101297,7 +104313,7 @@ paths: type: number node_id: type: string - text_matches: *653 + text_matches: *654 required: - sha - node_id @@ -101489,7 +104505,7 @@ paths: - interactions - created - updated - - *654 + - *655 - *17 - *19 - name: advanced_search @@ -101603,8 +104619,8 @@ paths: type: - string - 'null' - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -101635,7 +104651,7 @@ paths: - string - 'null' format: date-time - text_matches: *653 + text_matches: *654 pull_request: type: object properties: @@ -101901,7 +104917,7 @@ paths: enum: - created - updated - - *654 + - *655 - *17 - *19 responses: @@ -101946,7 +104962,7 @@ paths: - 'null' score: type: number - text_matches: *653 + text_matches: *654 required: - id - node_id @@ -102031,7 +105047,7 @@ paths: - forks - help-wanted-issues - updated - - *654 + - *655 - *17 - *19 responses: @@ -102277,7 +105293,7 @@ paths: - admin - pull - push - text_matches: *653 + text_matches: *654 temp_clone_token: type: string allow_merge_commit: @@ -102585,7 +105601,7 @@ paths: - string - 'null' format: uri - text_matches: *653 + text_matches: *654 related: type: - array @@ -102778,7 +105794,7 @@ paths: - followers - repositories - joined - - *654 + - *655 - *17 - *19 responses: @@ -102888,7 +105904,7 @@ paths: type: - boolean - 'null' - text_matches: *653 + text_matches: *654 blog: type: - string @@ -102970,7 +105986,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#get-a-team-legacy parameters: - - &657 + - &658 name: team_id description: The unique identifier of the team. in: path @@ -103011,7 +106027,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#update-a-team-legacy parameters: - - *657 + - *658 requestBody: required: true content: @@ -103112,7 +106128,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#delete-a-team-legacy parameters: - - *657 + - *658 responses: '204': description: Response @@ -103141,7 +106157,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -103179,7 +106195,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#list-team-members-legacy parameters: - - *657 + - *658 - name: role description: Filters members returned by their role in the team. in: query @@ -103230,7 +106246,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#get-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -103267,7 +106283,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#add-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -103307,7 +106323,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#remove-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -103344,7 +106360,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 responses: '200': @@ -103353,7 +106369,7 @@ paths: application/json: schema: *330 examples: - response-if-user-is-a-team-maintainer: *658 + response-if-user-is-a-team-maintainer: *659 '404': *6 x-github: githubCloudOnly: false @@ -103386,7 +106402,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 requestBody: required: false @@ -103414,7 +106430,7 @@ paths: application/json: schema: *330 examples: - response-if-users-membership-with-team-is-now-pending: *659 + response-if-users-membership-with-team-is-now-pending: *660 '403': description: Forbidden if team synchronization is set up '422': @@ -103448,7 +106464,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -103476,7 +106492,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#list-team-repositories-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -103518,7 +106534,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy parameters: - - *657 + - *658 - *331 - *332 responses: @@ -103526,7 +106542,7 @@ paths: description: Alternative response with extra repository information content: application/json: - schema: *660 + schema: *661 examples: alternative-response-with-extra-repository-information: value: @@ -103677,7 +106693,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions-legacy parameters: - - *657 + - *658 - *331 - *332 requestBody: @@ -103729,7 +106745,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team-legacy parameters: - - *657 + - *658 - *331 - *332 responses: @@ -103756,7 +106772,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#list-child-teams-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -103768,7 +106784,7 @@ paths: type: array items: *191 examples: - response-if-child-teams-exist: *661 + response-if-child-teams-exist: *662 headers: Link: *66 '404': *6 @@ -103801,7 +106817,7 @@ paths: application/json: schema: oneOf: - - &663 + - &664 title: Private User description: Private User type: object @@ -104051,7 +107067,7 @@ paths: - private_gists - total_private_repos - two_factor_authentication - - *662 + - *663 examples: response-with-public-and-private-profile-information: summary: Response with public and private profile information @@ -104211,7 +107227,7 @@ paths: description: Response content: application/json: - schema: *663 + schema: *664 examples: default: value: @@ -104609,7 +107625,7 @@ paths: type: integer secrets: type: array - items: &664 + items: &665 title: Codespaces Secret description: Secrets for a GitHub Codespace. type: object @@ -104729,7 +107745,7 @@ paths: description: Response content: application/json: - schema: *664 + schema: *665 examples: default: value: @@ -105142,7 +108158,7 @@ paths: description: Response content: application/json: - schema: &665 + schema: &666 type: object title: Fetches information about an export of a codespace. description: An export of a codespace. Also, latest export details @@ -105195,7 +108211,7 @@ paths: examples: - https://github.com/octocat/hello-world/tree/:branch examples: - default: &666 + default: &667 value: state: succeeded completed_at: '2022-01-01T14:59:22Z' @@ -105240,9 +108256,9 @@ paths: description: Response content: application/json: - schema: *665 + schema: *666 examples: - default: *666 + default: *667 '404': *6 x-github: githubCloudOnly: false @@ -105281,7 +108297,7 @@ paths: type: array items: *452 examples: - default: *667 + default: *668 '304': *35 '500': *53 '401': *23 @@ -106247,7 +109263,7 @@ paths: type: array items: *253 examples: - default: &678 + default: &679 value: - id: 197 name: hello_docker @@ -106348,7 +109364,7 @@ paths: application/json: schema: type: array - items: &668 + items: &669 title: Email description: Email type: object @@ -106418,9 +109434,9 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: - default: &680 + default: &681 value: - email: octocat@github.com verified: true @@ -106497,7 +109513,7 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: default: value: @@ -106755,7 +109771,7 @@ paths: application/json: schema: type: array - items: &669 + items: &670 title: GPG Key description: A unique encryption key type: object @@ -106900,7 +109916,7 @@ paths: - subkeys - revoked examples: - default: &697 + default: &698 value: - id: 3 name: Octocat's GPG Key @@ -106985,9 +110001,9 @@ paths: description: Response content: application/json: - schema: *669 + schema: *670 examples: - default: &670 + default: &671 value: id: 3 name: Octocat's GPG Key @@ -107044,7 +110060,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user parameters: - - &671 + - &672 name: gpg_key_id description: The unique identifier of the GPG key. in: path @@ -107056,9 +110072,9 @@ paths: description: Response content: application/json: - schema: *669 + schema: *670 examples: - default: *670 + default: *671 '404': *6 '304': *35 '403': *27 @@ -107081,7 +110097,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user parameters: - - *671 + - *672 responses: '204': description: Response @@ -107539,7 +110555,7 @@ paths: application/json: schema: type: array - items: &672 + items: &673 title: Key description: Key type: object @@ -107642,9 +110658,9 @@ paths: description: Response content: application/json: - schema: *672 + schema: *673 examples: - default: &673 + default: &674 value: key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 id: 2 @@ -107683,9 +110699,9 @@ paths: description: Response content: application/json: - schema: *672 + schema: *673 examples: - default: *673 + default: *674 '404': *6 '304': *35 '403': *27 @@ -107741,7 +110757,7 @@ paths: application/json: schema: type: array - items: &674 + items: &675 title: User Marketplace Purchase description: User Marketplace Purchase type: object @@ -107820,7 +110836,7 @@ paths: - account - plan examples: - default: &675 + default: &676 value: - billing_cycle: monthly next_billing_date: '2017-11-11T00:00:00Z' @@ -107882,9 +110898,9 @@ paths: application/json: schema: type: array - items: *674 + items: *675 examples: - default: *675 + default: *676 headers: Link: *66 '304': *35 @@ -108902,7 +111918,7 @@ paths: url: https://docs.github.com/rest/migrations/users#unlock-a-user-repository parameters: - *248 - - *676 + - *677 responses: '204': description: Response @@ -109017,7 +112033,7 @@ paths: - docker - nuget - container - - *677 + - *678 - *19 - *17 responses: @@ -109029,8 +112045,8 @@ paths: type: array items: *253 examples: - default: *678 - '400': *679 + default: *679 + '400': *680 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -109059,7 +112075,7 @@ paths: application/json: schema: *253 examples: - default: &698 + default: &699 value: id: 40201 name: octo-name @@ -109421,9 +112437,9 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: - default: *680 + default: *681 headers: Link: *66 '304': *35 @@ -109536,7 +112552,7 @@ paths: type: array items: *78 examples: - default: &687 + default: &688 summary: Default response value: - id: 1296269 @@ -109896,7 +112912,7 @@ paths: type: array items: *528 examples: - default: *681 + default: *682 headers: Link: *66 '304': *35 @@ -109975,7 +112991,7 @@ paths: application/json: schema: type: array - items: &682 + items: &683 title: Social account description: Social media account type: object @@ -109992,7 +113008,7 @@ paths: - provider - url examples: - default: &683 + default: &684 value: - provider: twitter url: https://twitter.com/github @@ -110055,9 +113071,9 @@ paths: application/json: schema: type: array - items: *682 + items: *683 examples: - default: *683 + default: *684 '422': *15 '304': *35 '404': *6 @@ -110145,7 +113161,7 @@ paths: application/json: schema: type: array - items: &684 + items: &685 title: SSH Signing Key description: A public SSH key used to sign Git commits type: object @@ -110165,7 +113181,7 @@ paths: - title - created_at examples: - default: &716 + default: &717 value: - id: 2 key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -110230,9 +113246,9 @@ paths: description: Response content: application/json: - schema: *684 + schema: *685 examples: - default: &685 + default: &686 value: id: 2 key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -110262,7 +113278,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user parameters: - - &686 + - &687 name: ssh_signing_key_id description: The unique identifier of the SSH signing key. in: path @@ -110274,9 +113290,9 @@ paths: description: Response content: application/json: - schema: *684 + schema: *685 examples: - default: *685 + default: *686 '404': *6 '304': *35 '403': *27 @@ -110299,7 +113315,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user parameters: - - *686 + - *687 responses: '204': description: Response @@ -110328,7 +113344,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user parameters: - - &717 + - &718 name: sort description: The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed @@ -110353,11 +113369,11 @@ paths: type: array items: *78 examples: - default-response: *687 + default-response: *688 application/vnd.github.v3.star+json: schema: type: array - items: &718 + items: &719 title: Starred Repository description: Starred Repository type: object @@ -110726,10 +113742,10 @@ paths: application/json: schema: oneOf: + - *664 - *663 - - *662 examples: - default-response: &691 + default-response: &692 summary: Default response value: login: octocat @@ -110764,7 +113780,7 @@ paths: following: 0 created_at: '2008-01-14T04:33:35Z' updated_at: '2008-01-14T04:33:35Z' - response-with-git-hub-plan-information: &692 + response-with-git-hub-plan-information: &693 summary: Response with GitHub plan information value: login: octocat @@ -110821,7 +113837,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/projects/drafts#create-draft-item-for-user-owned-project parameters: - - &689 + - &690 name: user_id description: The unique identifier of the user. in: path @@ -110887,7 +113903,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/users#list-users parameters: - - *688 + - *689 - *17 responses: '200': @@ -110922,7 +113938,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/projects/views#create-a-view-for-a-user-owned-project parameters: - - *689 + - *690 - *271 requestBody: required: true @@ -110997,7 +114013,7 @@ paths: description: Response for creating a view in a user-owned project. content: application/json: - schema: *690 + schema: *691 examples: table_view: summary: Response for creating a table view @@ -111049,11 +114065,11 @@ paths: application/json: schema: oneOf: + - *664 - *663 - - *662 examples: - default-response: *691 - response-with-git-hub-plan-information: *692 + default-response: *692 + response-with-git-hub-plan-information: *693 '404': *6 x-github: githubCloudOnly: false @@ -111103,8 +114119,8 @@ paths: required: - subject_digests examples: - default: *693 - withPredicateType: *694 + default: *694 + withPredicateType: *695 responses: '200': description: Response @@ -111158,7 +114174,7 @@ paths: description: The cursor to the previous page. description: Information about the current page. examples: - default: *695 + default: *696 x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -111647,7 +114663,7 @@ paths: application/json: schema: *187 examples: - default: &696 + default: &697 summary: Example response for a user copilot space value: id: 42 @@ -111748,7 +114764,7 @@ paths: application/json: schema: *187 examples: - default: *696 + default: *697 '403': *27 '404': *6 x-github: @@ -111874,7 +114890,7 @@ paths: application/json: schema: *187 examples: - default: *696 + default: *697 '403': *27 '404': *6 '422': *15 @@ -112642,7 +115658,7 @@ paths: type: array items: *253 examples: - default: *678 + default: *679 '403': *27 '401': *23 x-github: @@ -113026,9 +116042,9 @@ paths: application/json: schema: type: array - items: *669 + items: *670 examples: - default: *697 + default: *698 headers: Link: *66 x-github: @@ -113257,7 +116273,7 @@ paths: - docker - nuget - container - - *677 + - *678 - *70 - *19 - *17 @@ -113270,10 +116286,10 @@ paths: type: array items: *253 examples: - default: *678 + default: *679 '403': *27 '401': *23 - '400': *679 + '400': *680 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -113303,7 +116319,7 @@ paths: application/json: schema: *253 examples: - default: *698 + default: *699 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -113652,7 +116668,7 @@ paths: type: array items: *274 examples: - default: *699 + default: *700 headers: Link: *66 '304': *35 @@ -113712,7 +116728,7 @@ paths: description: The options available for single select fields. At least one option must be provided when creating a single select field. - items: *700 + items: *701 required: - name - data_type @@ -113728,7 +116744,7 @@ paths: description: The field's data type. enum: - iteration - iteration_configuration: *701 + iteration_configuration: *702 required: - name - data_type @@ -113750,8 +116766,8 @@ paths: value: name: Due date data_type: date - single_select_field: *702 - iteration_field: *703 + single_select_field: *703 + iteration_field: *704 responses: '201': description: Response @@ -113759,11 +116775,11 @@ paths: application/json: schema: *274 examples: - text_field: *704 - number_field: *705 - date_field: *706 - single_select_field: *707 - iteration_field: *708 + text_field: *705 + number_field: *706 + date_field: *707 + single_select_field: *708 + iteration_field: *709 '304': *35 '403': *27 '401': *23 @@ -113785,7 +116801,7 @@ paths: url: https://docs.github.com/rest/projects/fields#get-project-field-for-user parameters: - *271 - - *709 + - *710 - *70 responses: '200': @@ -113794,7 +116810,7 @@ paths: application/json: schema: *274 examples: - default: *710 + default: *711 headers: Link: *66 '304': *35 @@ -114151,7 +117167,7 @@ paths: parameters: - *271 - *70 - - *711 + - *712 - name: fields description: |- Limit results to specific fields, by their IDs. If not specified, the @@ -114426,7 +117442,7 @@ paths: - *116 - *118 - *117 - - *712 + - *713 - *119 responses: '200': @@ -114557,7 +117573,7 @@ paths: parameters: - *70 - *116 - - *713 + - *714 - *117 responses: '200': @@ -114656,9 +117672,9 @@ paths: - *116 - *118 - *117 - - *714 - - *119 - *715 + - *119 + - *716 responses: '200': description: Response when getting a billing usage summary @@ -114792,9 +117808,9 @@ paths: application/json: schema: type: array - items: *682 + items: *683 examples: - default: *683 + default: *684 headers: Link: *66 x-github: @@ -114824,9 +117840,9 @@ paths: application/json: schema: type: array - items: *684 + items: *685 examples: - default: *716 + default: *717 headers: Link: *66 x-github: @@ -114851,7 +117867,7 @@ paths: url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user parameters: - *70 - - *717 + - *718 - *60 - *17 - *19 @@ -114863,11 +117879,11 @@ paths: schema: anyOf: - type: array - items: *718 + items: *719 - type: array items: *78 examples: - default-response: *687 + default-response: *688 headers: Link: *66 x-github: @@ -115027,7 +118043,7 @@ webhooks: type: string enum: - disabled - enterprise: &719 + enterprise: &720 title: Enterprise description: |- An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured @@ -115096,7 +118112,7 @@ webhooks: - created_at - updated_at - avatar_url - installation: &720 + installation: &721 title: Simple Installation description: |- The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -115117,7 +118133,7 @@ webhooks: required: - id - node_id - organization: &721 + organization: &722 title: Organization Simple description: |- A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an @@ -115190,7 +118206,7 @@ webhooks: - public_members_url - avatar_url - description - repository: &722 + repository: &723 title: Repository description: |- The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property @@ -116116,10 +119132,10 @@ webhooks: type: string enum: - enabled - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -116195,11 +119211,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: &723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: &724 title: branch protection rule 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) @@ -116422,11 +119438,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: *723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: *724 sender: *4 required: - action @@ -116614,11 +119630,11 @@ webhooks: - everyone required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: *723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: *724 sender: *4 required: - action @@ -116702,7 +119718,7 @@ webhooks: type: string enum: - completed - check_run: &725 + check_run: &726 title: CheckRun description: A check performed on the code of a given code change type: object @@ -116812,7 +119828,7 @@ webhooks: - examples: - neutral - deployment: *724 + deployment: *725 details_url: type: string examples: @@ -116910,10 +119926,10 @@ webhooks: - output - app - pull_requests - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -117304,11 +120320,11 @@ webhooks: type: string enum: - created - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -117702,11 +120718,11 @@ webhooks: type: string enum: - requested_action - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 requested_action: description: The action requested by the user. type: object @@ -118109,11 +121125,11 @@ webhooks: type: string enum: - rerequested - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -119098,10 +122114,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -119805,10 +122821,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -120506,10 +123522,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -120830,20 +123846,20 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: &726 + commit_oid: &727 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. type: string - enterprise: *719 - installation: *720 - organization: *721 - ref: &727 + enterprise: *720 + installation: *721 + organization: *722 + ref: &728 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. type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -121251,12 +124267,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -121539,12 +124555,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -121890,12 +124906,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -122185,9 +125201,9 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 ref: description: The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event @@ -122195,7 +125211,7 @@ webhooks: type: - string - 'null' - repository: *722 + repository: *723 sender: *4 required: - action @@ -122441,12 +125457,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -122767,10 +125783,10 @@ webhooks: - dismissed_reason - rule - tool - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -123030,10 +126046,10 @@ webhooks: - updated_at - author_association - body - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -123114,18 +126130,18 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 master_branch: description: The name of the repository's default branch (usually `main`). type: string - organization: *721 - pusher_type: &728 + organization: *722 + pusher_type: &729 description: The pusher type for the event. Can be either `user` or a deploy key. type: string - ref: &729 + ref: &730 description: The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. type: string @@ -123135,7 +126151,7 @@ webhooks: enum: - tag - branch - repository: *722 + repository: *723 sender: *4 required: - ref @@ -123218,9 +126234,9 @@ webhooks: enum: - created definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -123305,9 +126321,9 @@ webhooks: description: The name of the property that was deleted. required: - property_name - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -123385,9 +126401,9 @@ webhooks: enum: - promote_to_enterprise definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -123465,9 +126481,9 @@ webhooks: enum: - updated definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -123544,10 +126560,10 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - repository: *722 - organization: *721 + enterprise: *720 + installation: *721 + repository: *723 + organization: *722 sender: *4 new_property_values: type: array @@ -123632,18 +126648,18 @@ webhooks: title: delete event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - pusher_type: *728 - ref: *729 + enterprise: *720 + installation: *721 + organization: *722 + pusher_type: *729 + ref: *730 ref_type: description: The type of Git ref object deleted in the repository. type: string enum: - tag - branch - repository: *722 + repository: *723 sender: *4 required: - ref @@ -123724,10 +126740,10 @@ webhooks: enum: - assignees_changed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123808,10 +126824,10 @@ webhooks: enum: - auto_dismissed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123893,10 +126909,10 @@ webhooks: enum: - auto_reopened alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123978,10 +126994,10 @@ webhooks: enum: - created alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124061,10 +127077,10 @@ webhooks: enum: - dismissed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124144,10 +127160,10 @@ webhooks: enum: - fixed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124228,10 +127244,10 @@ webhooks: enum: - reintroduced alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124311,10 +127327,10 @@ webhooks: enum: - reopened alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124391,9 +127407,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - key: &730 + enterprise: *720 + installation: *721 + key: &731 description: The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. type: object @@ -124431,8 +127447,8 @@ webhooks: - verified - created_at - read_only - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -124509,11 +127525,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - key: *730 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + key: *731 + organization: *722 + repository: *723 sender: *4 required: - action @@ -125080,12 +128096,12 @@ webhooks: - updated_at - statuses_url - repository_url - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: &734 + workflow: &735 title: Workflow type: - object @@ -125840,9 +128856,9 @@ webhooks: pull_requests: type: array items: *575 - repository: *722 - organization: *721 - installation: *720 + repository: *723 + organization: *722 + installation: *721 sender: *4 responses: '200': @@ -125913,7 +128929,7 @@ webhooks: type: string enum: - approved - approver: &731 + approver: &732 type: object properties: avatar_url: @@ -125956,11 +128972,11 @@ webhooks: type: string comment: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - reviewers: &732 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + reviewers: &733 type: array items: type: object @@ -126041,7 +129057,7 @@ webhooks: sender: *4 since: type: string - workflow_job_run: &733 + workflow_job_run: &734 type: object properties: conclusion: @@ -126787,18 +129803,18 @@ webhooks: type: string enum: - rejected - approver: *731 + approver: *732 comment: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - reviewers: *732 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + reviewers: *733 sender: *4 since: type: string - workflow_job_run: *733 + workflow_job_run: *734 workflow_job_runs: type: array items: @@ -127515,13 +130531,13 @@ webhooks: type: string enum: - requested - enterprise: *719 + enterprise: *720 environment: type: string - installation: *720 - organization: *721 - repository: *722 - requestor: &739 + installation: *721 + organization: *722 + repository: *723 + requestor: &740 title: User type: - object @@ -129454,12 +132470,12 @@ webhooks: - updated_at - deployment_url - repository_url - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Deployment Workflow Run type: @@ -130150,7 +133166,7 @@ webhooks: type: string enum: - answered - answer: &737 + answer: &738 type: object properties: author_association: @@ -130310,11 +133326,11 @@ webhooks: - created_at - updated_at - body - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130441,11 +133457,11 @@ webhooks: - from required: - category - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130528,11 +133544,11 @@ webhooks: type: string enum: - closed - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130614,7 +133630,7 @@ webhooks: type: string enum: - created - comment: &736 + comment: &737 type: object properties: author_association: @@ -130774,11 +133790,11 @@ webhooks: - updated_at - body - reactions - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130861,12 +133877,12 @@ webhooks: type: string enum: - deleted - comment: *736 - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + comment: *737 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130961,12 +133977,12 @@ webhooks: - from required: - body - comment: *736 - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + comment: *737 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131050,11 +134066,11 @@ webhooks: type: string enum: - created - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131136,11 +134152,11 @@ webhooks: type: string enum: - deleted - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131240,11 +134256,11 @@ webhooks: type: string required: - from - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131326,10 +134342,10 @@ webhooks: type: string enum: - labeled - discussion: *735 - enterprise: *719 - installation: *720 - label: &738 + discussion: *736 + enterprise: *720 + installation: *721 + label: &739 title: Label type: object properties: @@ -131362,8 +134378,8 @@ webhooks: - color - default - description - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131446,11 +134462,11 @@ webhooks: type: string enum: - locked - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131532,11 +134548,11 @@ webhooks: type: string enum: - pinned - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131618,11 +134634,11 @@ webhooks: type: string enum: - reopened - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131707,16 +134723,16 @@ webhooks: changes: type: object properties: - new_discussion: *735 - new_repository: *722 + new_discussion: *736 + new_repository: *723 required: - new_discussion - new_repository - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131799,10 +134815,10 @@ webhooks: type: string enum: - unanswered - discussion: *735 - old_answer: *737 - organization: *721 - repository: *722 + discussion: *736 + old_answer: *738 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131884,12 +134900,12 @@ webhooks: type: string enum: - unlabeled - discussion: *735 - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131972,11 +134988,11 @@ webhooks: type: string enum: - unlocked - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132058,11 +135074,11 @@ webhooks: type: string enum: - unpinned - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132135,7 +135151,7 @@ webhooks: description: A user forks a repository. type: object properties: - enterprise: *719 + enterprise: *720 forkee: description: The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. @@ -132813,9 +135829,9 @@ webhooks: type: integer watchers_count: type: integer - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - forkee @@ -132961,9 +135977,9 @@ webhooks: title: gollum event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pages: description: The pages that were updated. type: array @@ -133001,7 +136017,7 @@ webhooks: - action - sha - html_url - repository: *722 + repository: *723 sender: *4 required: - pages @@ -133077,10 +136093,10 @@ webhooks: type: string enum: - created - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: &740 + organization: *722 + repositories: &741 description: An array of repository objects that the installation can access. type: array @@ -133106,8 +136122,8 @@ webhooks: - name - full_name - private - repository: *722 - requester: *739 + repository: *723 + requester: *740 sender: *4 required: - action @@ -133182,11 +136198,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -133263,11 +136279,11 @@ webhooks: type: string enum: - new_permissions_accepted - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -133344,10 +136360,10 @@ webhooks: type: string enum: - added - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories_added: &741 + organization: *722 + repositories_added: &742 description: An array of repository objects, which were added to the installation. type: array @@ -133393,15 +136409,15 @@ webhooks: private: description: Whether the repository is private or public. type: boolean - repository: *722 - repository_selection: &742 + repository: *723 + repository_selection: &743 description: Describe whether all repositories have been selected or there's a selection involved type: string enum: - all - selected - requester: *739 + requester: *740 sender: *4 required: - action @@ -133480,10 +136496,10 @@ webhooks: type: string enum: - removed - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories_added: *741 + organization: *722 + repositories_added: *742 repositories_removed: description: An array of repository objects, which were removed from the installation. @@ -133510,9 +136526,9 @@ webhooks: - name - full_name - private - repository: *722 - repository_selection: *742 - requester: *739 + repository: *723 + repository_selection: *743 + requester: *740 sender: *4 required: - action @@ -133591,11 +136607,11 @@ webhooks: type: string enum: - suspend - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -133777,10 +136793,10 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 target_type: type: string @@ -133859,11 +136875,11 @@ webhooks: type: string enum: - unsuspend - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -134115,8 +137131,8 @@ webhooks: - performed_via_github_app - body - reactions - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -134928,8 +137944,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -135290,8 +138306,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -135371,7 +138387,7 @@ webhooks: type: string enum: - deleted - comment: &743 + comment: &744 title: issue comment description: The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. @@ -135542,8 +138558,8 @@ webhooks: - performed_via_github_app - body - reactions - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -136351,8 +139367,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -136715,8 +139731,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -136796,7 +139812,7 @@ webhooks: type: string enum: - edited - changes: &767 + changes: &768 description: The changes to the comment. type: object properties: @@ -136808,9 +139824,9 @@ webhooks: type: string required: - from - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -137621,8 +140637,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -137983,8 +140999,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -138065,9 +141081,9 @@ webhooks: type: string enum: - pinned - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -138880,8 +141896,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -139244,8 +142260,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -139325,9 +142341,9 @@ webhooks: type: string enum: - unpinned - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -140140,8 +143156,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -140504,8 +143520,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140594,9 +143610,9 @@ webhooks: type: number blocking_issue: *82 blocking_issue_repo: *78 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140685,9 +143701,9 @@ webhooks: type: number blocking_issue: *82 blocking_issue_repo: *78 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140775,9 +143791,9 @@ webhooks: description: The ID of the blocking issue. type: number blocking_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140866,9 +143882,9 @@ webhooks: description: The ID of the blocking issue. type: number blocking_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140948,10 +143964,10 @@ webhooks: type: string enum: - assigned - assignee: *739 - enterprise: *719 - installation: *720 - issue: &744 + assignee: *740 + enterprise: *720 + installation: *721 + issue: &745 title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -141762,8 +144778,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -141886,8 +144902,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141967,8 +144983,8 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -142784,8 +145800,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -143051,8 +146067,8 @@ webhooks: required: - state - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -143131,8 +146147,8 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -143939,8 +146955,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -144062,8 +147078,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -144142,8 +147158,8 @@ webhooks: type: string enum: - demilestoned - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -144973,8 +147989,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -145075,7 +148091,7 @@ webhooks: format: uri user_view_type: type: string - milestone: &745 + milestone: &746 title: Milestone description: A collection of related issues and pull requests. type: object @@ -145218,8 +148234,8 @@ webhooks: - updated_at - due_on - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -145318,8 +148334,8 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -146130,8 +149146,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -146254,9 +149270,9 @@ webhooks: - active_lock_reason - body - reactions - label: *738 - organization: *721 - repository: *722 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -146336,9 +149352,9 @@ webhooks: type: string enum: - field_added - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 issue_field: type: object description: The issue field whose value was set or updated on the @@ -146457,8 +149473,8 @@ webhooks: - id required: - from - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -146538,9 +149554,9 @@ webhooks: type: string enum: - field_removed - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 issue_field: type: object description: The issue field whose value was cleared from the issue. @@ -146603,8 +149619,8 @@ webhooks: - 'null' required: - id - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -146684,8 +149700,8 @@ webhooks: type: string enum: - labeled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -147495,8 +150511,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -147619,9 +150635,9 @@ webhooks: - active_lock_reason - body - reactions - label: *738 - organization: *721 - repository: *722 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -147701,8 +150717,8 @@ webhooks: type: string enum: - locked - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -148537,8 +151553,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -148638,8 +151654,8 @@ webhooks: format: uri user_view_type: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -148718,8 +151734,8 @@ webhooks: type: string enum: - milestoned - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -149548,8 +152564,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -149649,9 +152665,9 @@ webhooks: format: uri user_view_type: type: string - milestone: *745 - organization: *721 - repository: *722 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -150538,8 +153554,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -151134,8 +154150,8 @@ webhooks: required: - old_issue - old_repository - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -151942,8 +154958,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -152069,8 +155085,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -152150,9 +155166,9 @@ webhooks: type: string enum: - pinned - enterprise: *719 - installation: *720 - issue: &746 + enterprise: *720 + installation: *721 + issue: &747 title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -152957,8 +155973,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -153080,8 +156096,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -153160,8 +156176,8 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -153994,8 +157010,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -154096,8 +157112,8 @@ webhooks: user_view_type: type: string type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -154985,8 +158001,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -155599,11 +158615,11 @@ webhooks: required: - new_issue - new_repository - enterprise: *719 - installation: *720 - issue: *746 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *747 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155683,12 +158699,12 @@ webhooks: type: string enum: - typed - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155769,7 +158785,7 @@ webhooks: type: string enum: - unassigned - assignee: &770 + assignee: &771 title: User type: - object @@ -155841,11 +158857,11 @@ webhooks: required: - login - id - enterprise: *719 - installation: *720 - issue: *744 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *745 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155924,12 +158940,12 @@ webhooks: type: string enum: - unlabeled - enterprise: *719 - installation: *720 - issue: *744 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *745 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156009,8 +159025,8 @@ webhooks: type: string enum: - unlocked - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -156843,8 +159859,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -156944,8 +159960,8 @@ webhooks: format: uri user_view_type: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157025,11 +160041,11 @@ webhooks: type: string enum: - unpinned - enterprise: *719 - installation: *720 - issue: *746 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *747 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157108,12 +160124,12 @@ webhooks: type: string enum: - untyped - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157193,11 +160209,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157275,11 +160291,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157389,11 +160405,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157475,9 +160491,9 @@ webhooks: - cancelled effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: &747 + enterprise: *720 + installation: *721 + marketplace_purchase: &748 title: Marketplace Purchase type: object required: @@ -157565,8 +160581,8 @@ webhooks: type: integer unit_count: type: integer - organization: *721 - previous_marketplace_purchase: &748 + organization: *722 + previous_marketplace_purchase: &749 title: Marketplace Purchase type: object properties: @@ -157650,7 +160666,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -157730,10 +160746,10 @@ webhooks: - changed effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 previous_marketplace_purchase: title: Marketplace Purchase type: object @@ -157821,7 +160837,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -157903,10 +160919,10 @@ webhooks: - pending_change effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 previous_marketplace_purchase: title: Marketplace Purchase type: object @@ -157992,7 +161008,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -158073,8 +161089,8 @@ webhooks: - pending_change_cancelled effective_date: type: string - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 marketplace_purchase: title: Marketplace Purchase type: object @@ -158160,9 +161176,9 @@ webhooks: type: integer unit_count: type: integer - organization: *721 - previous_marketplace_purchase: *748 - repository: *722 + organization: *722 + previous_marketplace_purchase: *749 + repository: *723 sender: *4 required: - action @@ -158242,12 +161258,12 @@ webhooks: - purchased effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 - previous_marketplace_purchase: *748 - repository: *722 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 + previous_marketplace_purchase: *749 + repository: *723 sender: *4 required: - action @@ -158349,11 +161365,11 @@ webhooks: type: string required: - to - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158455,11 +161471,11 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158538,11 +161554,11 @@ webhooks: type: string enum: - removed - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158620,11 +161636,11 @@ webhooks: type: string enum: - added - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 scope: description: The scope of the membership. Currently, can only be `team`. @@ -158702,7 +161718,7 @@ webhooks: required: - login - id - team: &749 + team: &750 title: Team description: Groups of organization members that gives permissions on specified repositories. @@ -158932,11 +161948,11 @@ webhooks: type: string enum: - removed - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 scope: description: The scope of the membership. Currently, can only be `team`. @@ -159015,7 +162031,7 @@ webhooks: required: - login - id - team: *749 + team: *750 required: - action - scope @@ -159097,8 +162113,8 @@ webhooks: type: string enum: - checks_requested - installation: *720 - merge_group: &750 + installation: *721 + merge_group: &751 type: object title: Merge Group description: A group of pull requests that the merge queue has grouped @@ -159124,8 +162140,8 @@ webhooks: - base_sha - base_ref - head_commit - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159211,10 +162227,10 @@ webhooks: - merged - invalidated - dequeued - installation: *720 - merge_group: *750 - organization: *721 - repository: *722 + installation: *721 + merge_group: *751 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159287,7 +162303,7 @@ webhooks: type: string enum: - deleted - enterprise: *719 + enterprise: *720 hook: description: 'The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, @@ -159396,12 +162412,12 @@ webhooks: hook_id: description: The id of the modified webhook. type: integer - installation: *720 - organization: *721 + installation: *721 + organization: *722 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -159481,11 +162497,11 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159564,9 +162580,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - milestone: &751 + enterprise: *720 + installation: *721 + milestone: &752 title: Milestone description: A collection of related issues and pull requests. type: object @@ -159708,8 +162724,8 @@ webhooks: - updated_at - due_on - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159788,11 +162804,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159902,11 +162918,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159986,11 +163002,11 @@ webhooks: type: string enum: - opened - enterprise: *719 - installation: *720 - milestone: *751 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *752 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160069,11 +163085,11 @@ webhooks: type: string enum: - blocked - blocked_user: *739 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + blocked_user: *740 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160152,11 +163168,11 @@ webhooks: type: string enum: - unblocked - blocked_user: *739 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + blocked_user: *740 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160235,9 +163251,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - membership: &752 + enterprise: *720 + installation: *721 + membership: &753 title: Membership description: The membership between the user and the organization. Not present when the action is `member_invited`. @@ -160347,8 +163363,8 @@ webhooks: - role - organization_url - user - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160426,11 +163442,11 @@ webhooks: type: string enum: - member_added - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160509,8 +163525,8 @@ webhooks: type: string enum: - member_invited - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 invitation: description: The invitation for the user or email if the action is `member_invited`. @@ -160632,10 +163648,10 @@ webhooks: - inviter - team_count - invitation_teams_url - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 - user: *739 + user: *740 required: - action - invitation @@ -160713,11 +163729,11 @@ webhooks: type: string enum: - member_removed - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160804,11 +163820,11 @@ webhooks: properties: from: type: string - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160885,9 +163901,9 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 package: description: Information about the package. type: object @@ -161410,7 +164426,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: &753 + items: &754 title: Ruby Gems metadata type: object properties: @@ -161507,7 +164523,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -161583,9 +164599,9 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 package: description: Information about the package. type: object @@ -161947,7 +164963,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: *753 + items: *754 source_url: type: string format: uri @@ -162018,7 +165034,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -162198,12 +165214,12 @@ webhooks: - duration - created_at - updated_at - enterprise: *719 + enterprise: *720 id: type: integer - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - id @@ -162280,7 +165296,7 @@ webhooks: type: string enum: - approved - personal_access_token_request: &754 + personal_access_token_request: &755 title: Personal Access Token Request description: Details of a Personal Access Token Request. type: object @@ -162430,10 +165446,10 @@ webhooks: - token_expired - token_expires_at - token_last_used_at - enterprise: *719 - organization: *721 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162510,11 +165526,11 @@ webhooks: type: string enum: - cancelled - personal_access_token_request: *754 - enterprise: *719 - organization: *721 + personal_access_token_request: *755 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162590,11 +165606,11 @@ webhooks: type: string enum: - created - personal_access_token_request: *754 - enterprise: *719 - organization: *721 + personal_access_token_request: *755 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162669,11 +165685,11 @@ webhooks: type: string enum: - denied - personal_access_token_request: *754 - organization: *721 - enterprise: *719 + personal_access_token_request: *755 + organization: *722 + enterprise: *720 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162778,7 +165794,7 @@ webhooks: id: description: Unique identifier of the webhook. type: integer - last_response: *755 + last_response: *756 name: description: The type of webhook. The only valid value is 'web'. type: string @@ -162810,8 +165826,8 @@ webhooks: hook_id: description: The ID of the webhook that triggered the ping. type: integer - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 zen: description: Random string of GitHub zen. @@ -163056,10 +166072,10 @@ webhooks: - from required: - note - enterprise: *719 - installation: *720 - organization: *721 - project_card: &756 + enterprise: *720 + installation: *721 + organization: *722 + project_card: &757 title: Project Card type: object properties: @@ -163182,7 +166198,7 @@ webhooks: - creator - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -163263,11 +166279,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project_card: *756 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_card: *757 + repository: *723 sender: *4 required: - action @@ -163347,9 +166363,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 project_card: title: Project Card type: object @@ -163479,7 +166495,7 @@ webhooks: repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -163573,11 +166589,11 @@ webhooks: - from required: - note - enterprise: *719 - installation: *720 - organization: *721 - project_card: *756 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_card: *757 + repository: *723 sender: *4 required: - action @@ -163671,9 +166687,9 @@ webhooks: - from required: - column_id - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 project_card: allOf: - title: Project Card @@ -163870,7 +166886,7 @@ webhooks: type: string required: - after_id - repository: *722 + repository: *723 sender: *4 required: - action @@ -163950,10 +166966,10 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - organization: *721 - project: &758 + enterprise: *720 + installation: *721 + organization: *722 + project: &759 title: Project type: object properties: @@ -164080,7 +167096,7 @@ webhooks: - creator - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -164160,10 +167176,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project_column: &757 + enterprise: *720 + installation: *721 + organization: *722 + project_column: &758 title: Project Column type: object properties: @@ -164203,7 +167219,7 @@ webhooks: - name - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -164282,14 +167298,14 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -164378,11 +167394,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 + repository: *723 sender: *4 required: - action @@ -164462,11 +167478,11 @@ webhooks: type: string enum: - moved - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 + repository: *723 sender: *4 required: - action @@ -164546,11 +167562,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -164630,14 +167646,14 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - project: *758 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -164738,11 +167754,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -164821,11 +167837,11 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -164906,8 +167922,8 @@ webhooks: type: string enum: - closed - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -164989,8 +168005,8 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -165072,8 +168088,8 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -165195,8 +168211,8 @@ webhooks: type: string to: type: string - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -165280,7 +168296,7 @@ webhooks: type: string enum: - archived - changes: &762 + changes: &763 type: object properties: archived_at: @@ -165296,9 +168312,9 @@ webhooks: - string - 'null' format: date-time - installation: *720 - organization: *721 - projects_v2_item: &759 + installation: *721 + organization: *722 + projects_v2_item: &760 title: Projects v2 Item description: An item belonging to a project type: object @@ -165438,9 +168454,9 @@ webhooks: - 'null' to: type: string - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165522,9 +168538,9 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165605,9 +168621,9 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165712,7 +168728,7 @@ webhooks: oneOf: - type: string - type: integer - - &760 + - &761 title: Projects v2 Single Select Option description: An option for a single select field type: object @@ -165736,7 +168752,7 @@ webhooks: required: - id - name - - &761 + - &762 title: Projects v2 Iteration Setting description: An iteration setting for an iteration field type: object @@ -165776,8 +168792,8 @@ webhooks: oneOf: - type: string - type: integer - - *760 - *761 + - *762 type: - 'null' - string @@ -165800,9 +168816,9 @@ webhooks: - 'null' required: - body - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165899,9 +168915,9 @@ webhooks: type: - string - 'null' - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165984,10 +169000,10 @@ webhooks: type: string enum: - restored - changes: *762 - installation: *720 - organization: *721 - projects_v2_item: *759 + changes: *763 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -166069,8 +169085,8 @@ webhooks: type: string enum: - reopened - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -166152,9 +169168,9 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -166235,9 +169251,9 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -166383,9 +169399,9 @@ webhooks: - string - 'null' format: date - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -166456,10 +169472,10 @@ webhooks: title: public event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - repository @@ -166536,13 +169552,13 @@ webhooks: type: string enum: - assigned - assignee: *739 - enterprise: *719 - installation: *720 - number: &764 + assignee: *740 + enterprise: *720 + installation: *721 + number: &765 description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -168913,7 +171929,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -168995,11 +172011,11 @@ webhooks: type: string enum: - auto_merge_disabled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -171363,7 +174379,7 @@ webhooks: - draft reason: type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -171445,11 +174461,11 @@ webhooks: type: string enum: - auto_merge_enabled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -173813,7 +176829,7 @@ webhooks: - draft reason: type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -173895,11 +176911,11 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: &765 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: &766 allOf: - *575 - type: object @@ -173963,7 +176979,7 @@ webhooks: Please use `squash_merge_commit_title` instead.** type: boolean default: false - repository: *722 + repository: *723 sender: *4 required: - action @@ -174044,12 +177060,12 @@ webhooks: type: string enum: - converted_to_draft - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -174129,11 +177145,11 @@ webhooks: type: string enum: - demilestoned - enterprise: *719 + enterprise: *720 milestone: *272 - number: *764 - organization: *721 - pull_request: &766 + number: *765 + organization: *722 + pull_request: &767 title: Pull Request type: object properties: @@ -176482,7 +179498,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -176561,11 +179577,11 @@ webhooks: type: string enum: - dequeued - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -178933,7 +181949,7 @@ webhooks: - BRANCH_PROTECTIONS - GIT_TREE_INVALID - INVALID_MERGE_COMMIT - repository: *722 + repository: *723 sender: *4 required: - action @@ -179057,12 +182073,12 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -179142,11 +182158,11 @@ webhooks: type: string enum: - enqueued - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -181499,7 +184515,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -181579,11 +184595,11 @@ webhooks: type: string enum: - labeled - enterprise: *719 - installation: *720 - label: *738 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + label: *739 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -183953,7 +186969,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -184034,10 +187050,10 @@ webhooks: type: string enum: - locked - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -186405,7 +189421,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -186485,12 +189501,12 @@ webhooks: type: string enum: - milestoned - enterprise: *719 + enterprise: *720 milestone: *272 - number: *764 - organization: *721 - pull_request: *766 - repository: *722 + number: *765 + organization: *722 + pull_request: *767 + repository: *723 sender: *4 required: - action @@ -186569,12 +189585,12 @@ webhooks: type: string enum: - opened - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -186655,12 +189671,12 @@ webhooks: type: string enum: - ready_for_review - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -186740,12 +189756,12 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -187120,9 +190136,9 @@ webhooks: - start_side - side - reactions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -189374,7 +192390,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -189454,7 +192470,7 @@ webhooks: type: string enum: - deleted - comment: &768 + comment: &769 title: Pull Request Review Comment description: The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. @@ -189747,9 +192763,9 @@ webhooks: - start_side - side - reactions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -191989,7 +195005,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -192069,11 +195085,11 @@ webhooks: type: string enum: - edited - changes: *767 - comment: *768 - enterprise: *719 - installation: *720 - organization: *721 + changes: *768 + comment: *769 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -194316,7 +197332,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -194397,9 +197413,9 @@ webhooks: type: string enum: - dismissed - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -196654,7 +199670,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 review: description: The review that was affected. type: object @@ -196905,9 +199921,9 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -199021,8 +202037,8 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 - review: &769 + repository: *723 + review: &770 description: The review that was affected. type: object properties: @@ -199260,12 +202276,12 @@ webhooks: type: string enum: - review_request_removed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -201634,7 +204650,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_reviewer: title: User type: @@ -201720,12 +204736,12 @@ webhooks: type: string enum: - review_request_removed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -204101,7 +207117,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_team: title: Team description: Groups of organization members that gives permissions @@ -204296,12 +207312,12 @@ webhooks: type: string enum: - review_requested - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -206672,7 +209688,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_reviewer: title: User type: @@ -206759,12 +209775,12 @@ webhooks: type: string enum: - review_requested - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -209126,7 +212142,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_team: title: Team description: Groups of organization members that gives permissions @@ -209310,9 +212326,9 @@ webhooks: type: string enum: - submitted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -211570,8 +214586,8 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 - review: *769 + repository: *723 + review: *770 sender: *4 required: - action @@ -211651,9 +214667,9 @@ webhooks: type: string enum: - resolved - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -213806,7 +216822,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 sender: *4 thread: type: object @@ -214203,9 +217219,9 @@ webhooks: type: string enum: - unresolved - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -216341,7 +219357,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 sender: *4 thread: type: object @@ -216740,10 +219756,10 @@ webhooks: type: string before: type: string - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -219100,7 +222116,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -219182,11 +222198,11 @@ webhooks: type: string enum: - unassigned - assignee: *770 - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + assignee: *771 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -221558,7 +224574,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -221637,11 +224653,11 @@ webhooks: type: string enum: - unlabeled - enterprise: *719 - installation: *720 - label: *738 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + label: *739 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -224002,7 +227018,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -224083,10 +227099,10 @@ webhooks: type: string enum: - unlocked - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -226437,7 +229453,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -226640,7 +229656,7 @@ webhooks: deleted: description: Whether this push deleted the `ref`. type: boolean - enterprise: *719 + enterprise: *720 forced: description: Whether this push was a force push of the `ref`. type: boolean @@ -226735,8 +229751,8 @@ webhooks: - url - author - committer - installation: *720 - organization: *721 + installation: *721 + organization: *722 pusher: title: Committer description: Metaproperties for Git author/committer information. @@ -227335,9 +230351,9 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 registry_package: type: object properties: @@ -227814,7 +230830,7 @@ webhooks: type: string rubygems_metadata: type: array - items: *753 + items: *754 summary: type: string tag_name: @@ -227870,7 +230886,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -227948,9 +230964,9 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 registry_package: type: object properties: @@ -228262,7 +231278,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: *753 + items: *754 summary: type: string tag_name: @@ -228312,7 +231328,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -228389,10 +231405,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - release: &771 + enterprise: *720 + installation: *721 + organization: *722 + release: &772 title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. @@ -228723,7 +231739,7 @@ webhooks: - updated_at - zipball_url - body - repository: *722 + repository: *723 sender: *4 required: - action @@ -228800,11 +231816,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -228921,11 +231937,11 @@ webhooks: type: boolean required: - to - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -229003,9 +232019,9 @@ webhooks: type: string enum: - prereleased - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 release: title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) @@ -229341,7 +232357,7 @@ webhooks: - string - 'null' format: uri - repository: *722 + repository: *723 sender: *4 required: - action @@ -229417,10 +232433,10 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - release: &772 + enterprise: *720 + installation: *721 + organization: *722 + release: &773 title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. @@ -229753,7 +232769,7 @@ webhooks: - string - 'null' format: uri - repository: *722 + repository: *723 sender: *4 required: - action @@ -229829,11 +232845,11 @@ webhooks: type: string enum: - released - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -229909,11 +232925,11 @@ webhooks: type: string enum: - unpublished - enterprise: *719 - installation: *720 - organization: *721 - release: *772 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *773 + repository: *723 sender: *4 required: - action @@ -229989,11 +233005,11 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - repository_advisory: *642 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + repository_advisory: *643 sender: *4 required: - action @@ -230069,11 +233085,11 @@ webhooks: type: string enum: - reported - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - repository_advisory: *642 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + repository_advisory: *643 sender: *4 required: - action @@ -230149,10 +233165,10 @@ webhooks: type: string enum: - archived - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230229,10 +233245,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230310,10 +233326,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230398,10 +233414,10 @@ webhooks: additionalProperties: true description: The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230516,10 +233532,10 @@ webhooks: - 'null' items: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230591,10 +233607,10 @@ webhooks: title: repository_import event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 status: type: string @@ -230675,10 +233691,10 @@ webhooks: type: string enum: - privatized - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230755,10 +233771,10 @@ webhooks: type: string enum: - publicized - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230852,10 +233868,10 @@ webhooks: - name required: - repository - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230935,10 +233951,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 sender: *4 required: @@ -231017,10 +234033,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 sender: *4 required: @@ -231099,10 +234115,10 @@ webhooks: type: string enum: - edited - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 changes: type: object @@ -231410,10 +234426,10 @@ webhooks: - from required: - owner - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231491,10 +234507,10 @@ webhooks: type: string enum: - unarchived - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231572,7 +234588,7 @@ webhooks: type: string enum: - create - alert: &773 + alert: &774 title: Repository Vulnerability Alert Alert description: The security alert of the vulnerable dependency. type: object @@ -231697,10 +234713,10 @@ webhooks: enum: - auto_dismissed - open - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231910,10 +234926,10 @@ webhooks: type: string enum: - dismissed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231991,11 +235007,11 @@ webhooks: type: string enum: - reopen - alert: *773 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *774 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232197,10 +235213,10 @@ webhooks: enum: - fixed - open - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232278,7 +235294,7 @@ webhooks: type: string enum: - assigned - alert: &774 + alert: &775 type: object properties: number: *171 @@ -232418,10 +235434,10 @@ webhooks: - type: 'null' - *4 assignee: *4 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232499,11 +235515,11 @@ webhooks: type: string enum: - created - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232584,11 +235600,11 @@ webhooks: type: string enum: - created - alert: *774 - installation: *720 - location: *775 - organization: *721 - repository: *722 + alert: *775 + installation: *721 + location: *776 + organization: *722 + repository: *723 sender: *4 required: - location @@ -232826,11 +235842,11 @@ webhooks: type: string enum: - publicly_leaked - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232908,11 +235924,11 @@ webhooks: type: string enum: - reopened - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232990,11 +236006,11 @@ webhooks: type: string enum: - resolved - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233072,12 +236088,12 @@ webhooks: type: string enum: - unassigned - alert: *774 + alert: *775 assignee: *4 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233155,11 +236171,11 @@ webhooks: type: string enum: - validated - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233289,10 +236305,10 @@ webhooks: - organization - enterprise - - repository: *722 - enterprise: *719 - installation: *720 - organization: *721 + repository: *723 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -233370,11 +236386,11 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - security_advisory: &776 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + security_advisory: &777 description: The details of the security advisory, including summary, description, and severity. type: object @@ -233560,11 +236576,11 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - security_advisory: *776 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + security_advisory: *777 sender: *4 required: - action @@ -233637,10 +236653,10 @@ webhooks: type: string enum: - withdrawn - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 security_advisory: description: The details of the security advisory, including summary, description, and severity. @@ -233827,9 +236843,9 @@ webhooks: type: object properties: security_and_analysis: *287 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: *334 sender: *4 required: @@ -233908,12 +236924,12 @@ webhooks: type: string enum: - cancelled - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: &777 + sponsorship: &778 type: object properties: created_at: @@ -234218,12 +237234,12 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - sponsorship @@ -234311,12 +237327,12 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -234393,17 +237409,17 @@ webhooks: type: string enum: - pending_cancellation - effective_date: &778 + effective_date: &779 description: The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - sponsorship @@ -234477,7 +237493,7 @@ webhooks: type: string enum: - pending_tier_change - changes: &779 + changes: &780 type: object properties: tier: @@ -234521,13 +237537,13 @@ webhooks: - from required: - tier - effective_date: *778 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + effective_date: *779 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -234604,13 +237620,13 @@ webhooks: type: string enum: - tier_changed - changes: *779 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + changes: *780 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -234684,10 +237700,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 starred_at: description: 'The time the star was created. This is a timestamp @@ -234771,10 +237787,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 starred_at: description: 'The time the star was created. This is a timestamp @@ -235208,15 +238224,15 @@ webhooks: type: - string - 'null' - enterprise: *719 + enterprise: *720 id: description: The unique identifier of the status. type: integer - installation: *720 + installation: *721 name: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 sha: description: The Commit SHA. @@ -235332,9 +238348,9 @@ webhooks: description: The ID of the sub-issue. type: number sub_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -235424,9 +238440,9 @@ webhooks: description: The ID of the sub-issue. type: number sub_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -235516,9 +238532,9 @@ webhooks: description: The ID of the parent issue. type: number parent_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -235608,9 +238624,9 @@ webhooks: description: The ID of the parent issue. type: number parent_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -235687,12 +238703,12 @@ webhooks: title: team_add event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - team: &780 + team: &781 title: Team description: Groups of organization members that gives permissions on specified repositories. @@ -235922,9 +238938,9 @@ webhooks: type: string enum: - added_to_repository - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -236394,7 +239410,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -236470,9 +239486,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -236942,7 +239958,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -237019,9 +240035,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -237491,7 +240507,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -237635,9 +240651,9 @@ webhooks: - from required: - permissions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -238107,7 +241123,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - changes @@ -238185,9 +241201,9 @@ webhooks: type: string enum: - removed_from_repository - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -238657,7 +241673,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -238733,10 +241749,10 @@ webhooks: type: string enum: - started - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -238809,17 +241825,17 @@ webhooks: title: workflow_dispatch event type: object properties: - enterprise: *719 + enterprise: *720 inputs: type: - object - 'null' additionalProperties: true - installation: *720 - organization: *721 + installation: *721 + organization: *722 ref: type: string - repository: *722 + repository: *723 sender: *4 workflow: type: string @@ -238901,10 +241917,10 @@ webhooks: type: string enum: - completed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: allOf: @@ -239239,10 +242255,10 @@ webhooks: type: string enum: - in_progress - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: allOf: @@ -239603,10 +242619,10 @@ webhooks: type: string enum: - queued - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: type: object @@ -239831,10 +242847,10 @@ webhooks: type: string enum: - waiting - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: type: object @@ -240061,12 +243077,12 @@ webhooks: type: string enum: - completed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object @@ -241085,12 +244101,12 @@ webhooks: type: string enum: - in_progress - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object @@ -242094,12 +245110,12 @@ webhooks: type: string enum: - requested - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object diff --git a/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.json b/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.json index 7280796426..49b3ac7843 100644 --- a/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.json +++ b/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.json @@ -2152,6 +2152,3174 @@ } } }, + "/agents/repos/{owner}/{repo}/tasks": { + "get": { + "summary": "List tasks for repository", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for a specific repository\n\n**Fine-grained access tokens for \"List tasks for repository\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + }, + { + "name": "creator_id", + "in": "query", + "schema": { + "type": "integer" + }, + "description": "Filter tasks by creator user ID" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"prev\" (when current page > 1),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Start a task", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nStarts a new Copilot cloud agent task for a repository.\n\nThis endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription.\n\n**Fine-grained access tokens for \"Start a task\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read and write)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/create-task-in-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + } + ], + "requestBody": { + "required": true, + "description": "The task creation parameters, including the user's prompt and optional agent settings.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The user's prompt for the agent" + }, + "model": { + "type": "string", + "description": "The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5`" + }, + "create_pull_request": { + "type": "boolean", + "description": "Whether to create a PR.", + "default": false + }, + "base_ref": { + "type": "string", + "description": "Base ref for new branch/PR" + } + } + }, + "examples": { + "default": { + "value": { + "prompt": "Fix the login button on the homepage", + "base_ref": "main" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Task created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "queued", + "session_count": 1, + "artifacts": [], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + } + } + } + } + } + }, + "400": { + "description": "Problems parsing JSON", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/repos/{owner}/{repo}/tasks/{task_id}": { + "get": { + "summary": "Get a task by repo", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID scoped to an owner/repo path\n\n**Fine-grained access tokens for \"Get a task by repo\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-repo-and-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks": { + "get": { + "summary": "List tasks", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for the authenticated user\n\n**Fine-grained access tokens for \"List tasks\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks/{task_id}": { + "get": { + "summary": "Get a task by ID", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID with its associated sessions\n\n**Fine-grained access tokens for \"Get a task by ID\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Problems parsing request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, "/app": { "get": { "summary": "Get the authenticated app", @@ -103142,7 +106310,7 @@ "/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}": { "post": { "summary": "Set cluster deployment records", - "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.", + "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.\nNote: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments\narray resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use\nthe artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can\nonly have one name and version.", "tags": [ "orgs" ], @@ -103201,20 +106369,20 @@ "properties": { "name": { "type": "string", - "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", + "description": "The name of the artifact.", "minLength": 1, "maxLength": 256 }, "digest": { "type": "string", - "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", + "description": "The hex encoded digest of the artifact.", "minLength": 71, "maxLength": 71, "pattern": "^sha256:[a-f0-9]{64}$" }, "version": { "type": "string", - "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", + "description": "The artifact version.", "maxLength": 100, "x-multi-segment": true, "examples": [ @@ -189176,7 +192344,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -189261,6 +192430,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -189413,7 +192590,7 @@ }, "post": { "summary": "Create a private registry for an organization", - "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -189504,7 +192681,7 @@ } }, "auth_type": { - "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith` for OIDC authentication.", + "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication.", "type": "string", "enum": [ "token", @@ -189512,7 +192689,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -189548,7 +192726,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -189566,6 +192744,14 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" } }, "required": [ @@ -189624,6 +192810,17 @@ "service_slug": "my-service-account", "audience": "https://github.com/my-org" } + }, + "org-private-registry-with-oidc-gcp": { + "summary": "Example of an OIDC private registry configuration using Google Cloud Artifact Registry", + "value": { + "registry_type": "docker_registry", + "url": "https://us-docker.pkg.dev/my-project/my-repo", + "auth_type": "oidc_gcp", + "visibility": "all", + "workload_identity_provider": "projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider", + "service_account": "dependabot@my-project.iam.gserviceaccount.com" + } } } } @@ -189675,7 +192872,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -189764,6 +192962,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -190103,7 +193309,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -190188,6 +193395,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -190256,7 +193471,7 @@ }, "patch": { "summary": "Update a private registry for an organization", - "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -190364,7 +193579,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -190400,7 +193616,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -190418,6 +193634,14 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" } } }, @@ -238259,6 +241483,15 @@ "type": "boolean", "default": false } + }, + { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { @@ -267108,25 +270341,547 @@ } }, { - "name": "cache_id", - "description": "The unique identifier of the GitHub Actions cache.", + "name": "cache_id", + "description": "The unique identifier of the GitHub Actions cache.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "cache" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a repository", + "description": "Lists the active concurrency groups for a repository.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "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).\"", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "after", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Concurrency Group List", + "description": "A list of active concurrency groups for a repository.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "last_acquired_at" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "last_acquired_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "last_acquired_at": "2026-01-15T16:14:23Z" + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "last_acquired_at": "2026-01-15T16:13:55Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": { + "get": { + "summary": "Get a concurrency group for a repository", + "description": "Gets a specific concurrency group for a repository, including all instances in the group's queue.\nReturns 404 if the group is inactive or does not exist.\n\nOptionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items\nahead of the specified workflow run or job in the queue, plus the specified item itself\n(returned as the last element). This is useful for determining what is blocking a particular\nrun or job. Returns 422 if the specified run or job is not in this concurrency group.\n\nWhen using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow\nleases held on behalf of that run. Job-level leases within the run are not considered to\nblock the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow\nleases on the job's ancestor paths.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/get-concurrency-group-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "concurrency_group_name", + "description": "The name of the concurrency group.", "in": "path", "required": true, "schema": { - "type": "integer" + "type": "string" + } + }, + { + "name": "ahead_of_run", + "description": "Filter to items ahead of this workflow run ID in the queue, plus the run itself.\nMatches workflow-level concurrency and reusable-workflow leases held on behalf of\nthe run. Mutually exclusive with `ahead_of_job`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "ahead_of_job", + "description": "Filter to items ahead of this job ID in the queue, plus the job itself.\nMatches job-level concurrency and reusable-workflow leases on the job's\nancestor paths. Mutually exclusive with `ahead_of_run`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 } } ], "responses": { - "204": { - "description": "Response" + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Concurrency Group", + "description": "A concurrency group with the workflow runs and jobs that are either currently holding\nor waiting for the concurrency group lease.", + "type": "object", + "required": [ + "group_name", + "group_url", + "total_count", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "total_count": { + "type": "integer" + }, + "group_members": { + "type": "array", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "job_id": { + "type": "integer", + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": "string", + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + }, + "examples": { + "default": { + "value": { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "total_count": 3, + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress" + }, + { + "run_id": 30433643, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", + "status": "pending" + }, + { + "run_id": 30433644, + "run_name": "Deploy hotfix", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", + "job_id": 798245260, + "job_name": "deploy", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", + "status": "pending" + } + ] + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } } }, "x-github": { "githubCloudOnly": false, "enabledForGitHubApps": true, "category": "actions", - "subcategory": "cache" + "subcategory": "concurrency-groups" } } }, @@ -284436,99 +288191,386 @@ } }, { - "name": "attempt_number", - "description": "The attempt number of the workflow run.", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "302": { - "description": "Response", - "headers": { - "Location": { - "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", - "schema": { - "type": "string" - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "actions", - "subcategory": "workflow-runs" - } - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - "post": { - "summary": "Cancel a workflow run", - "description": "Cancels a workflow run using its `id`.\n\nOAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.", - "tags": [ - "actions" - ], - "operationId": "actions/cancel-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run" - }, - "parameters": [ - { - "name": "owner", - "description": "The account owner of the repository. The name is not case sensitive.", - "in": "path", - "required": true, + "name": "attempt_number", + "description": "The attempt number of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "302": { + "description": "Response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + "post": { + "summary": "Cancel a workflow run", + "description": "Cancels a workflow run using its `id`.\n\nOAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/cancel-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The unique identifier of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "202": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Empty Object", + "description": "An object without any properties.", + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "examples": { + "default": { + "value": null + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a workflow run", + "description": "Lists all concurrency groups associated with a workflow run or its jobs.\n\nThe set of groups is derived from the run's configuration, so a group is\nincluded even when the run no longer has any items currently holding or\nwaiting in it. In that case the `group_members` array will be empty.\n`total_count` reflects the number of groups the run participates in by\nconfiguration, not the number with active items.\n\nThis differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`,\nwhich returns 404 when a group has no active items. That endpoint reports\nthe live state of a group repo-wide, while this endpoint reports the\ngroups associated with a specific run by configuration.\n\nResults are sorted by group name and support cursor-based pagination via\n`before` and `after`. The `after` cursor paginates forward only and does\nnot emit a `rel=\"prev\"` Link; use `before` to page backward from a\nforward page's `next` cursor.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The unique identifier of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "description": "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).\"", + "in": "query", "schema": { - "type": "string" + "type": "integer", + "default": 30 } }, { - "name": "repo", - "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", - "in": "path", - "required": true, + "name": "before", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. 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).\"", + "in": "query", + "required": false, "schema": { "type": "string" } }, { - "name": "run_id", - "description": "The unique identifier of the workflow run.", - "in": "path", - "required": true, + "name": "after", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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).\"", + "in": "query", + "required": false, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { - "202": { + "200": { "description": "Response", "content": { "application/json": { "schema": { - "title": "Empty Object", - "description": "An object without any properties.", + "title": "Concurrency Group Run List", + "description": "A list of concurrency groups associated with a workflow run.", "type": "object", - "properties": {}, - "additionalProperties": false + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer", + "description": "The total number of concurrency groups this workflow run participates in,\nderived from the run's configuration. This count is not filtered by\nwhether the run currently holds or is waiting in each group, so it can\ninclude groups whose `group_members` array is empty (for example, when\nthe run has already released its lease in that group)." + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group. May return 404 if the group\nhas no active items at the time it is requested, since the\nget-by-name endpoint reports the live repo-wide state of a group\nwhile this endpoint lists groups associated with a run by\nconfiguration." + }, + "group_members": { + "type": "array", + "description": "Items belonging to this workflow run that are either currently holding or\nwaiting for the concurrency group lease. May be empty if the run no\nlonger has any active or queued items in this group.", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status", + "position", + "position_url" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "position": { + "type": "integer", + "description": "Queue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending)." + }, + "position_url": { + "type": "string", + "format": "uri", + "description": "API URL to get items ahead of this item in the concurrency group." + }, + "job_id": { + "type": [ + "integer", + "null" + ], + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": [ + "string", + "null" + ], + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + } + } + } }, "examples": { "default": { - "value": null + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress", + "position": 0, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" + } + ] + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "pending", + "position": 2, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", + "job_id": 798245260, + "job_name": "build", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" + } + ] + } + ] + } } } } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } } }, - "409": { - "description": "Conflict", + "404": { + "description": "Resource not found", "content": { "application/json": { "schema": { @@ -284552,13 +288594,88 @@ } } } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } } }, "x-github": { "githubCloudOnly": false, "enabledForGitHubApps": true, "category": "actions", - "subcategory": "workflow-runs" + "subcategory": "concurrency-groups" } } }, @@ -618139,6 +622256,15 @@ "type": "boolean", "default": false } + }, + { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { diff --git a/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.yaml b/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.yaml index a8d81b4ccb..7980ef9a90 100644 --- a/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.yaml +++ b/descriptions-next/api.github.com/dereferenced/api.github.com.2026-03-10.deref.yaml @@ -1046,7 +1046,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory parameters: - - &644 + - &645 name: ghsa_id description: The GHSA (GitHub Security Advisory) identifier of the advisory. in: path @@ -1133,6 +1133,2530 @@ paths: enabledForGitHubApps: true category: security-advisories subcategory: global-advisories + "/agents/repos/{owner}/{repo}/tasks": + get: + summary: List tasks for repository + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for a specific repository + + **Fine-grained access tokens for "List tasks for repository"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks-for-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + - name: creator_id + in: query + schema: + type: integer + description: Filter tasks by creator user ID + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="prev" (when current page > 1), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; + rel="next", ; + rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + post: + summary: Start a task + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Starts a new Copilot cloud agent task for a repository. + + This endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription. + + **Fine-grained access tokens for "Start a task"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read and write) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/create-task-in-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + requestBody: + required: true + description: The task creation parameters, including the user's prompt and + optional agent settings. + content: + application/json: + schema: + type: object + required: + - prompt + properties: + prompt: + type: string + description: The user's prompt for the agent + model: + type: string + description: 'The model to use for this task. The allowed models + may change over time and depend on the user''s GitHub Copilot + plan and organization policies. Currently supported values: `claude-sonnet-4.6`, + `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, + `claude-sonnet-4.5`, `claude-opus-4.5`' + create_pull_request: + type: boolean + description: Whether to create a PR. + default: false + base_ref: + type: string + description: Base ref for new branch/PR + examples: + default: + value: + prompt: Fix the login button on the homepage + base_ref: main + responses: + '201': + description: Task created successfully + content: + application/json: + schema: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + artifacts: [] + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '400': + description: Problems parsing JSON + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/repos/{owner}/{repo}/tasks/{task_id}": + get: + summary: Get a task by repo + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID scoped to an owner/repo path + + **Fine-grained access tokens for "Get a task by repo"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-repo-and-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks": + get: + summary: List tasks + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for the authenticated user + + **Fine-grained access tokens for "List tasks"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; rel="next", + ; rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks/{task_id}": + get: + summary: Get a task by ID + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID with its associated sessions + + **Fine-grained access tokens for "Get a task by ID"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Problems parsing request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation "/app": get: summary: Get the authenticated app @@ -11837,7 +14361,7 @@ paths: properties: action: type: string - discussion: &735 + discussion: &736 title: Discussion description: A Discussion in a repository. type: object @@ -12622,7 +15146,7 @@ paths: - hooray - eyes - rocket - sub_issues_summary: &655 + sub_issues_summary: &656 title: Sub-issues Summary type: object properties: @@ -12733,7 +15257,7 @@ paths: - url - created_at - updated_at - issue_dependencies_summary: &656 + issue_dependencies_summary: &657 title: Issue Dependencies Summary type: object properties: @@ -19337,7 +21861,7 @@ paths: required: false schema: type: string - - &712 + - &713 name: model description: The model name to query usage for. The name is not case sensitive. in: query @@ -19483,7 +22007,7 @@ paths: parameters: - *74 - *116 - - &713 + - &714 name: month description: If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the @@ -19595,7 +22119,7 @@ paths: - *116 - *118 - *117 - - &714 + - &715 name: repository description: The repository name to query for usage in the format owner/repository. in: query @@ -19603,7 +22127,7 @@ paths: schema: type: string - *119 - - &715 + - &716 name: sku description: The SKU to query for usage. in: query @@ -25940,6 +28464,10 @@ paths: 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. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records @@ -25982,24 +28510,18 @@ paths: properties: name: type: string - description: | - The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name parameter must also be identical across all entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: | - The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name and version parameters must also be identical across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: "^sha256:[a-f0-9]{64}$" version: type: string - description: | - The artifact version. Note that if multiple deployments have identical 'digest' parameter values, - the version parameter must also be identical across all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true examples: @@ -26476,12 +28998,12 @@ paths: required: - subject_digests examples: - default: &693 + default: &694 value: subject_digests: - sha256:abc123 - sha512:def456 - withPredicateType: &694 + withPredicateType: &695 value: subject_digests: - sha256:abc123 @@ -26526,7 +29048,7 @@ paths: description: The cursor to the previous page. description: Information about the current page. examples: - default: &695 + default: &696 value: attestations_subject_digests: - sha256:abc: @@ -39113,7 +41635,7 @@ paths: parameters: - *74 - *248 - - &675 + - &676 name: repo_name description: repo_name parameter in: path @@ -40061,7 +42583,7 @@ paths: - nuget - container - *74 - - &676 + - &677 name: visibility description: |- The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -40102,7 +42624,7 @@ paths: default: *254 '403': *27 '401': *23 - '400': &678 + '400': &679 description: The value of `per_page` multiplied by `page` cannot be greater than 10000. x-github: @@ -41439,6 +43961,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -41509,6 +44032,15 @@ paths: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload + Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. + If omitted, the federated token is used directly (direct + WIF). + type: string created_at: type: string format: date-time @@ -41546,7 +44078,7 @@ paths: description: |2- 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`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. tags: @@ -41640,7 +44172,477 @@ paths: auth_type: description: The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, - or `oidc_cloudsmith` for OIDC authentication. + `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication. + type: string + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + tenant_id: + description: The tenant ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + client_id: + description: The client ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + aws_region: + description: The AWS region. Required when `auth_type` is `oidc_aws`. + type: string + account_id: + description: The AWS account ID. Required when `auth_type` is `oidc_aws`. + type: string + role_name: + description: The AWS IAM role name. Required when `auth_type` is + `oidc_aws`. + type: string + domain: + description: The CodeArtifact domain. Required when `auth_type` + is `oidc_aws`. + type: string + domain_owner: + description: The CodeArtifact domain owner (AWS account ID). Required + when `auth_type` is `oidc_aws`. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. Required when `auth_type` + is `oidc_jfrog`. + type: string + audience: + description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. Optional for `oidc_jfrog` + auth type. + type: string + namespace: + description: The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: The Cloudsmith API host. Optional for `oidc_cloudsmith` + auth type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). + type: string + required: + - registry_type + - url + - visibility + examples: + org-private-registry-with-private-visibility: + summary: Example of a private registry configuration with private + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + replaces_base: true + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: private + org-private-registry-with-selected-visibility: + summary: Example of a private registry configuration with selected + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + org-private-registry-with-oidc-azure: + summary: Example of an OIDC private registry configuration using Azure + value: + registry_type: docker_registry + url: https://myregistry.azurecr.io + auth_type: oidc_azure + visibility: all + tenant_id: 12345678-1234-1234-1234-123456789012 + client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: Example of an OIDC private registry configuration using Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com + responses: + '201': + description: The organization private registry configuration + content: + application/json: + schema: + title: Organization private registry + description: Private registry configuration for an organization + type: object + properties: + name: + description: The name of the private registry configuration. + type: string + examples: + - MAVEN_REPOSITORY_SECRET + registry_type: + description: The 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 + auth_type: + description: The authentication type for the private registry. + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + type: string + url: + description: The URL of the private registry. + type: string + format: uri + username: + description: The username to use when authenticating with the + private registry. + type: string + examples: + - monalisa + replaces_base: + 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. + type: boolean + default: false + visibility: + 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. + enum: + - all + - private + - selected + type: string + selected_repository_ids: + type: array + description: An array of repository IDs that can access the organization + private registry when `visibility` is set to `selected`. + items: + type: integer + tenant_id: + description: The tenant ID of the Azure AD application. + type: string + client_id: + description: The client ID of the Azure AD application. + type: string + aws_region: + description: The AWS region. + type: string + account_id: + description: The AWS account ID. + type: string + role_name: + description: The AWS IAM role name. + type: string + domain: + description: The CodeArtifact domain. + type: string + domain_owner: + description: The CodeArtifact domain owner. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. + type: string + audience: + description: The OIDC audience. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. + type: string + namespace: + description: The Cloudsmith organization namespace. + type: string + service_slug: + description: The Cloudsmith service account slug. + type: string + api_host: + description: The Cloudsmith API host. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If + omitted, the federated token is used directly (direct WIF). + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - name + - registry_type + - visibility + - created_at + - updated_at + examples: + org-private-registry-with-selected-visibility: &268 + value: + name: MAVEN_REPOSITORY_SECRET + registry_type: maven_repository + username: monalisa + visibility: private + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + org-private-registry-with-private-visibility: + value: + name: MAVEN_REPOSITORY_SECRET + registry_type: maven_repository + username: monalisa + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/public-key": + get: + summary: Get private registries public key for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-public-key + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + parameters: + - *74 + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - key_id + - key + properties: + key_id: + description: The identifier for the key. + type: string + examples: + - '012345678912345678' + key: + description: The Base64 encoded public key. + type: string + examples: + - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + examples: + default: + value: + key_id: '012345678912345678' + key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + headers: + Link: *66 + '404': *6 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/{secret_name}": + get: + summary: Get a private registry for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + parameters: + - *74 + - *161 + responses: + '200': + description: The specified private registry configuration for the organization + content: + application/json: + schema: *267 + examples: + default: *268 + '404': *6 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + patch: + summary: Update a private registry for an organization + description: |2- + + 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`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. + tags: + - private-registries + operationId: private-registries/update-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + parameters: + - *74 + - *161 + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + registry_type: + description: The registry type. + type: string + 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 + url: + description: The URL of the private registry. + type: string + format: uri + username: + 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. + type: + - string + - 'null' + replaces_base: + 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. + type: boolean + default: false + encrypted_value: + 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. + type: string + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + key_id: + description: The ID of the key you used to encrypt the secret. + type: string + visibility: + 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. + type: string + enum: + - all + - private + - selected + selected_repository_ids: + 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`. + type: array + items: + type: integer + auth_type: + 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. type: string enum: - token @@ -41649,6 +44651,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp tenant_id: description: The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`. @@ -41681,7 +44684,7 @@ paths: type: string audience: description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. type: string identity_mapping_name: description: The JFrog identity mapping name. Optional for `oidc_jfrog` @@ -41699,445 +44702,15 @@ paths: description: The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default. type: string - required: - - registry_type - - url - - visibility - examples: - org-private-registry-with-private-visibility: - summary: Example of a private registry configuration with private - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - replaces_base: true - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: private - org-private-registry-with-selected-visibility: - summary: Example of a private registry configuration with selected - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - org-private-registry-with-oidc-azure: - summary: Example of an OIDC private registry configuration using Azure - value: - registry_type: docker_registry - url: https://myregistry.azurecr.io - auth_type: oidc_azure - visibility: all - tenant_id: 12345678-1234-1234-1234-123456789012 - client_id: abcdef01-2345-6789-abcd-ef0123456789 - org-private-registry-with-oidc-cloudsmith: - summary: Example of an OIDC private registry configuration using Cloudsmith - value: - registry_type: npm_registry - url: https://npm.cloudsmith.io/my-org/my-repo/ - auth_type: oidc_cloudsmith - visibility: all - namespace: my-org - service_slug: my-service-account - audience: https://github.com/my-org - responses: - '201': - description: The organization private registry configuration - content: - application/json: - schema: - title: Organization private registry - description: Private registry configuration for an organization - type: object - properties: - name: - description: The name of the private registry configuration. - type: string - examples: - - MAVEN_REPOSITORY_SECRET - registry_type: - description: The 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 - auth_type: - description: The authentication type for the private registry. - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - type: string - url: - description: The URL of the private registry. - type: string - format: uri - username: - description: The username to use when authenticating with the - private registry. - type: string - examples: - - monalisa - replaces_base: - 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. - type: boolean - default: false - visibility: - 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. - enum: - - all - - private - - selected - type: string - selected_repository_ids: - type: array - description: An array of repository IDs that can access the organization - private registry when `visibility` is set to `selected`. - items: - type: integer - tenant_id: - description: The tenant ID of the Azure AD application. - type: string - client_id: - description: The client ID of the Azure AD application. - type: string - aws_region: - description: The AWS region. - type: string - account_id: - description: The AWS account ID. - type: string - role_name: - description: The AWS IAM role name. - type: string - domain: - description: The CodeArtifact domain. - type: string - domain_owner: - description: The CodeArtifact domain owner. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. - type: string - audience: - description: The OIDC audience. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. - type: string - namespace: - description: The Cloudsmith organization namespace. - type: string - service_slug: - description: The Cloudsmith service account slug. - type: string - api_host: - description: The Cloudsmith API host. - type: string - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - required: - - name - - registry_type - - visibility - - created_at - - updated_at - examples: - org-private-registry-with-selected-visibility: &268 - value: - name: MAVEN_REPOSITORY_SECRET - registry_type: maven_repository - username: monalisa - visibility: private - created_at: '2019-08-10T14:59:22Z' - updated_at: '2020-01-10T14:59:22Z' - org-private-registry-with-private-visibility: - value: - name: MAVEN_REPOSITORY_SECRET - registry_type: maven_repository - username: monalisa - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - created_at: '2019-08-10T14:59:22Z' - updated_at: '2020-01-10T14:59:22Z' - '404': *6 - '422': *15 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/public-key": - get: - summary: Get private registries public key for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-public-key - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization - parameters: - - *74 - responses: - '200': - description: Response - content: - application/json: - schema: - type: object - required: - - key_id - - key - properties: - key_id: - description: The identifier for the key. - type: string - examples: - - '012345678912345678' - key: - description: The Base64 encoded public key. - type: string - examples: - - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - examples: - default: - value: - key_id: '012345678912345678' - key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - headers: - Link: *66 - '404': *6 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/{secret_name}": - get: - summary: Get a private registry for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization - parameters: - - *74 - - *161 - responses: - '200': - description: The specified private registry configuration for the organization - content: - application/json: - schema: *267 - examples: - default: *268 - '404': *6 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - patch: - summary: Update a private registry for an organization - description: |2- - - 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`, `oidc_jfrog`, or `oidc_cloudsmith`), 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. - tags: - - private-registries - operationId: private-registries/update-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization - parameters: - - *74 - - *161 - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - registry_type: - description: The registry type. + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. type: string - 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 - url: - description: The URL of the private registry. - type: string - format: uri - username: - 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. - type: - - string - - 'null' - replaces_base: - 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. - type: boolean - default: false - encrypted_value: - 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. - type: string - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - key_id: - description: The ID of the key you used to encrypt the secret. - type: string - visibility: - 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. - type: string - enum: - - all - - private - - selected - selected_repository_ids: - 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`. - type: array - items: - type: integer - auth_type: - 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. - type: string - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - tenant_id: - description: The tenant ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - client_id: - description: The client ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - aws_region: - description: The AWS region. Required when `auth_type` is `oidc_aws`. - type: string - account_id: - description: The AWS account ID. Required when `auth_type` is `oidc_aws`. - type: string - role_name: - description: The AWS IAM role name. Required when `auth_type` is - `oidc_aws`. - type: string - domain: - description: The CodeArtifact domain. Required when `auth_type` - is `oidc_aws`. - type: string - domain_owner: - description: The CodeArtifact domain owner (AWS account ID). Required - when `auth_type` is `oidc_aws`. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. Required when `auth_type` - is `oidc_jfrog`. - type: string - audience: - description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. Optional for `oidc_jfrog` - auth type. - type: string - namespace: - description: The Cloudsmith organization namespace. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - service_slug: - description: The Cloudsmith service account slug. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - api_host: - description: The Cloudsmith API host. Optional for `oidc_cloudsmith` - auth type. If omitted, `api.cloudsmith.io` is used by default. + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). type: string examples: secret-based-update: @@ -42293,7 +44866,7 @@ paths: latest_status_update: anyOf: - type: 'null' - - &763 + - &764 title: Projects v2 Status Update description: An status update belonging to a project type: object @@ -43179,7 +45752,7 @@ paths: - updated_at - project_url examples: - default: &699 + default: &700 value: - id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -43356,7 +45929,7 @@ paths: description: The options available for single select fields. At least one option must be provided when creating a single select field. - items: &700 + items: &701 type: object properties: name: @@ -43393,7 +45966,7 @@ paths: description: The field's data type. enum: - iteration - iteration_configuration: &701 + iteration_configuration: &702 type: object description: The configuration for iteration fields. properties: @@ -43443,7 +46016,7 @@ paths: value: name: Due date data_type: date - single_select_field: &702 + single_select_field: &703 summary: Create a single select field value: name: Priority @@ -43470,7 +46043,7 @@ paths: description: raw: High priority items html: High priority items - iteration_field: &703 + iteration_field: &704 summary: Create an iteration field value: name: Sprint @@ -43496,7 +46069,7 @@ paths: application/json: schema: *274 examples: - text_field: &704 + text_field: &705 value: id: 24680 node_id: PVTF_lADOABCD2468024680 @@ -43505,7 +46078,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-05-15T08:00:00Z' updated_at: '2022-05-15T08:00:00Z' - number_field: &705 + number_field: &706 value: id: 13579 node_id: PVTF_lADOABCD1357913579 @@ -43514,7 +46087,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-06-01T14:30:00Z' updated_at: '2022-06-01T14:30:00Z' - date_field: &706 + date_field: &707 value: id: 98765 node_id: PVTF_lADOABCD9876598765 @@ -43523,7 +46096,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-06-10T09:15:00Z' updated_at: '2022-06-10T09:15:00Z' - single_select_field: &707 + single_select_field: &708 value: id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -43557,7 +46130,7 @@ paths: raw: High priority items created_at: '2022-04-28T12:00:00Z' updated_at: '2022-04-28T12:00:00Z' - iteration_field: &708 + iteration_field: &709 value: id: 11223 node_id: PVTF_lADOABCD1122311223 @@ -43603,7 +46176,7 @@ paths: url: https://docs.github.com/rest/projects/fields#get-project-field-for-organization parameters: - *271 - - &709 + - &710 name: field_id description: The unique identifier of the field. in: path @@ -43618,7 +46191,7 @@ paths: application/json: schema: *274 examples: - default: &710 + default: &711 value: id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -44829,7 +47402,7 @@ paths: description: Response for creating a view in an organization-owned project. content: application/json: - schema: &690 + schema: &691 title: Projects v2 View description: A view inside a projects v2 project type: object @@ -45012,7 +47585,7 @@ paths: parameters: - *271 - *74 - - &711 + - &712 name: view_number description: The number that identifies the project view. in: path @@ -49136,6 +51709,17 @@ paths: schema: type: boolean default: false + - &622 + name: is_bypassed + in: query + description: A boolean value (`true` or `false`) indicating whether to filter + alerts by their push protection bypass status. When set to `true`, only + alerts that were created because a push protection rule was bypassed will + be returned. When set to `false`, only alerts that were not caused by a + push protection bypass will be returned. + required: false + schema: + type: boolean responses: '200': description: Response @@ -49159,14 +51743,14 @@ paths: format: uri description: The REST API URL of the code locations for this alert. - state: &622 + state: &623 description: Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. type: string enum: - open - resolved - resolution: &623 + resolution: &624 type: - string - 'null' @@ -49285,14 +51869,14 @@ paths: first_location_detected: anyOf: - type: 'null' - - &624 + - &625 description: 'Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. ' oneOf: - - &626 + - &627 description: Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. @@ -49356,7 +51940,7 @@ paths: - blob_url - commit_sha - commit_url - - &627 + - &628 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. @@ -49417,7 +52001,7 @@ paths: - page_url - commit_sha - commit_url - - &628 + - &629 description: Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. @@ -49439,7 +52023,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1 required: - issue_title_url - - &629 + - &630 description: Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. @@ -49461,7 +52045,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1 required: - issue_body_url - - &630 + - &631 description: Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. @@ -49483,7 +52067,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1#issuecomment-1081119451 required: - issue_comment_url - - &631 + - &632 description: Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. @@ -49498,7 +52082,7 @@ paths: - https://github.com/community/community/discussions/39082 required: - discussion_title_url - - &632 + - &633 description: Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. @@ -49513,7 +52097,7 @@ paths: - https://github.com/community/community/discussions/39082#discussion-4566270 required: - discussion_body_url - - &633 + - &634 description: Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. @@ -49528,7 +52112,7 @@ paths: - https://github.com/community/community/discussions/39082#discussioncomment-4158232 required: - discussion_comment_url - - &634 + - &635 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. @@ -49550,7 +52134,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846 required: - pull_request_title_url - - &635 + - &636 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. @@ -49572,7 +52156,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846 required: - pull_request_body_url - - &636 + - &637 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. @@ -49594,7 +52178,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846#issuecomment-1081119451 required: - pull_request_comment_url - - &637 + - &638 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. @@ -49616,7 +52200,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846#pullrequestreview-80 required: - pull_request_review_url - - &638 + - &639 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 @@ -50137,7 +52721,7 @@ paths: application/json: schema: type: array - items: &642 + items: &643 description: A repository security advisory. type: object properties: @@ -50434,7 +53018,7 @@ paths: - private_fork additionalProperties: false examples: - default: &643 + default: &644 value: - ghsa_id: GHSA-abcd-1234-efgh cve_id: CVE-2050-00000 @@ -52501,7 +55085,7 @@ paths: - state - url examples: - response-if-user-is-a-team-maintainer: &658 + response-if-user-is-a-team-maintainer: &659 summary: Response if user is a team maintainer value: url: https://api.github.com/teams/1/memberships/octocat @@ -52566,7 +55150,7 @@ paths: application/json: schema: *330 examples: - response-if-users-membership-with-team-is-now-pending: &659 + response-if-users-membership-with-team-is-now-pending: &660 summary: Response if user's membership with team is now pending value: url: https://api.github.com/teams/1/memberships/octocat @@ -52680,7 +55264,7 @@ paths: description: Alternative response with repository permissions content: application/json: - schema: &660 + schema: &661 title: Team Repository description: A team's access to a repository. type: object @@ -53401,7 +55985,7 @@ paths: type: array items: *191 examples: - response-if-child-teams-exist: &661 + response-if-child-teams-exist: &662 value: - id: 2 node_id: MDQ6VGVhbTI= @@ -55253,6 +57837,245 @@ paths: enabledForGitHubApps: true category: actions subcategory: cache + "/repos/{owner}/{repo}/actions/concurrency_groups": + get: + summary: List concurrency groups for a repository + description: |- + Lists the active concurrency groups for a repository. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - *331 + - *332 + - *17 + - *46 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: + - string + - 'null' + format: date-time + examples: + default: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + headers: + Link: *66 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": + get: + summary: Get a concurrency group for a repository + description: |- + Gets a specific concurrency group for a repository, including all instances in the group's queue. + Returns 404 if the group is inactive or does not exist. + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items + ahead of the specified workflow run or job in the queue, plus the specified item itself + (returned as the last element). This is useful for determining what is blocking a particular + run or job. Returns 422 if the specified run or job is not in this concurrency group. + + When using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow + leases held on behalf of that run. Job-level leases within the run are not considered to + block the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow + leases on the job's ancestor paths. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - *331 + - *332 + - name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string + - name: ahead_of_run + description: |- + Filter to items ahead of this workflow run ID in the queue, plus the run itself. + Matches workflow-level concurrency and reusable-workflow leases held on behalf of + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: |- + Filter to items ahead of this job ID in the queue, plus the job itself. + Matches job-level concurrency and reusable-workflow leases on the job's + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group + description: |- + A concurrency group with the workflow runs and jobs that are either currently holding + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + job_id: + type: integer + description: The ID of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_name: + type: string + description: The display name of the job, when the item + represents a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending + examples: + default: + value: + group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/jobs/{job_id}": get: summary: Get a job for a workflow run @@ -58306,6 +61129,198 @@ paths: enabledForGitHubApps: true category: actions subcategory: workflow-runs + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": + get: + summary: List concurrency groups for a workflow run + description: |- + Lists all concurrency groups associated with a workflow run or its jobs. + + The set of groups is derived from the run's configuration, so a group is + included even when the run no longer has any items currently holding or + waiting in it. In that case the `group_members` array will be empty. + `total_count` reflects the number of groups the run participates in by + configuration, not the number with active items. + + This differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + which returns 404 when a group has no active items. That endpoint reports + the live state of a group repo-wide, while this endpoint reports the + groups associated with a specific run by configuration. + + Results are sorted by group name and support cursor-based pagination via + `before` and `after`. The `after` cursor paginates forward only and does + not emit a `rel="prev"` Link; use `before` to page backward from a + forward page's `next` cursor. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - *331 + - *332 + - *369 + - *17 + - *45 + - *46 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow + run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: |- + The total number of concurrency groups this workflow run participates in, + derived from the run's configuration. This count is not filtered by + whether the run currently holds or is waiting in each group, so it can + include groups whose `group_members` array is empty (for example, when + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: |- + API URL for this concurrency group. May return 404 if the group + has no active items at the time it is requested, since the + get-by-name endpoint reports the live repo-wide state of a group + while this endpoint lists groups associated with a run by + configuration. + group_members: + type: array + description: |- + Items belonging to this workflow run that are either currently holding or + waiting for the concurrency group lease. May be empty if the run no + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + position: + type: integer + description: Queue position. 0 means the item holds + the concurrency lease (in_progress), 1 or higher + means queued (pending). + position_url: + type: string + format: uri + description: API URL to get items ahead of this item + in the concurrency group. + job_id: + type: + - integer + - 'null' + description: The ID of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_name: + type: + - string + - 'null' + description: The display name of the job, when the + item represents a job-level or reusable-workflow-level + lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending + examples: + default: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 + headers: + Link: *66 + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": post: summary: Review custom deployment protection rules for a workflow run @@ -64552,7 +67567,7 @@ paths: check. type: array items: *85 - deployment: &724 + deployment: &725 title: Deployment description: A deployment created as the result of an Actions check run from a workflow that references an environment @@ -69805,7 +72820,7 @@ paths: type: array items: *452 examples: - default: &666 + default: &667 value: total_count: 2 machines: @@ -72982,7 +75997,7 @@ paths: application/json: schema: type: array - items: &647 + items: &648 title: Status description: The status of a commit. type: object @@ -74608,7 +77623,7 @@ paths: items: type: object properties: - placeholder_id: &639 + placeholder_id: &640 description: The ID of the push protection bypass placeholder. This value is returned on any push protected routes. @@ -80609,7 +83624,7 @@ paths: format: uri examples: - https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries - last_response: &755 + last_response: &756 title: Hook Response type: object properties: @@ -81678,7 +84693,7 @@ paths: parameters: - *331 - *332 - - &688 + - &689 name: since description: A user ID. Only return users with an ID greater than this ID. in: query @@ -82112,7 +85127,7 @@ paths: type: array items: *528 examples: - default: &680 + default: &681 value: - id: 1 repository: @@ -96417,6 +99432,7 @@ paths: - *619 - *620 - *621 + - *622 responses: '200': description: Response @@ -96424,7 +99440,7 @@ paths: application/json: schema: type: array - items: &625 + items: &626 type: object properties: number: *171 @@ -96440,8 +99456,8 @@ paths: format: uri description: The REST API URL of the code locations for this alert. - state: *622 - resolution: *623 + state: *623 + resolution: *624 resolved_at: type: - string @@ -96547,7 +99563,7 @@ paths: first_location_detected: anyOf: - type: 'null' - - *624 + - *625 has_more_locations: type: boolean description: A boolean value representing whether or not the @@ -96715,7 +99731,7 @@ paths: description: Response content: application/json: - schema: *625 + schema: *626 examples: default: value: @@ -96779,8 +99795,8 @@ paths: schema: type: object properties: - state: *622 - resolution: *623 + state: *623 + resolution: *624 resolution_comment: description: An optional comment when closing or reopening an alert. Cannot be updated or deleted. @@ -96828,7 +99844,7 @@ paths: description: Response content: application/json: - schema: *625 + schema: *626 examples: default: value: @@ -96937,7 +99953,7 @@ paths: schema: type: array description: List of locations where the secret was detected - items: &775 + items: &776 type: object properties: type: @@ -96964,7 +99980,6 @@ paths: - commit details: oneOf: - - *626 - *627 - *628 - *629 @@ -96977,6 +99992,7 @@ paths: - *636 - *637 - *638 + - *639 examples: default: value: @@ -97071,14 +100087,14 @@ paths: schema: type: object properties: - reason: &640 + reason: &641 description: The reason for bypassing push protection. type: string enum: - false_positive - used_in_tests - will_fix_later - placeholder_id: *639 + placeholder_id: *640 required: - reason - placeholder_id @@ -97095,7 +100111,7 @@ paths: schema: type: object properties: - reason: *640 + reason: *641 expire_at: type: - string @@ -97158,7 +100174,7 @@ paths: properties: incremental_scans: type: array - items: &641 + items: &642 description: Information on a single scan performed by secret scanning on the repository type: object @@ -97186,15 +100202,15 @@ paths: the scan is pending pattern_update_scans: type: array - items: *641 + items: *642 backfill_scans: type: array - items: *641 + items: *642 custom_pattern_backfill_scans: type: array items: allOf: - - *641 + - *642 - type: object properties: pattern_name: @@ -97207,7 +100223,7 @@ paths: one of "repository", "organization", or "enterprise" generic_secrets_backfill_scans: type: array - items: *641 + items: *642 examples: default: value: @@ -97317,9 +100333,9 @@ paths: application/json: schema: type: array - items: *642 + items: *643 examples: - default: *643 + default: *644 '400': *14 '404': *6 x-github: @@ -97513,9 +100529,9 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: &645 + default: &646 value: ghsa_id: GHSA-abcd-1234-efgh cve_id: CVE-2050-00000 @@ -97859,7 +100875,7 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: default: value: @@ -98007,15 +101023,15 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '200': description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: *645 + default: *646 '403': *27 '404': *6 x-github: @@ -98041,7 +101057,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 requestBody: required: true content: @@ -98212,10 +101228,10 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: *645 - add_credit: *645 + default: *646 + add_credit: *646 '403': *27 '404': *6 '422': @@ -98255,7 +101271,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '202': *37 '400': *14 @@ -98284,7 +101300,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '202': description: Response @@ -98425,7 +101441,7 @@ paths: application/json: schema: type: array - items: &646 + items: &647 title: Code Frequency Stat description: Code Frequency Stat type: array @@ -98798,7 +101814,7 @@ paths: application/json: schema: type: array - items: *646 + items: *647 examples: default: value: @@ -98888,7 +101904,7 @@ paths: description: Response content: application/json: - schema: *647 + schema: *648 examples: default: value: @@ -98982,7 +101998,7 @@ paths: description: if you subscribe to the repository content: application/json: - schema: &648 + schema: &649 title: Repository Invitation description: Repository invitations let you manage who you collaborate with. @@ -99082,7 +102098,7 @@ paths: description: Response content: application/json: - schema: *648 + schema: *649 examples: default: value: @@ -99292,7 +102308,7 @@ paths: description: Response content: application/json: - schema: &649 + schema: &650 title: Topic description: A topic aggregates entities that are related to a subject. type: object @@ -99304,7 +102320,7 @@ paths: required: - names examples: - default: &650 + default: &651 value: names: - octocat @@ -99359,9 +102375,9 @@ paths: description: Response content: application/json: - schema: *649 + schema: *650 examples: - default: *650 + default: *651 '404': *6 '422': *7 x-github: @@ -99384,7 +102400,7 @@ paths: parameters: - *331 - *332 - - &651 + - &652 name: per description: The time frame to display results for. in: query @@ -99415,7 +102431,7 @@ paths: - 128 clones: type: array - items: &652 + items: &653 title: Traffic type: object properties: @@ -99663,7 +102679,7 @@ paths: parameters: - *331 - *332 - - *651 + - *652 responses: '200': description: Response @@ -99684,7 +102700,7 @@ paths: - 3782 views: type: array - items: *652 + items: *653 required: - uniques - count @@ -100456,7 +103472,7 @@ paths: examples: - 73..77 - 77..78 - text_matches: &653 + text_matches: &654 title: Search Result Text Matches type: array items: @@ -100619,7 +103635,7 @@ paths: enum: - author-date - committer-date - - &654 + - &655 name: order description: Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter @@ -100739,7 +103755,7 @@ paths: type: number node_id: type: string - text_matches: *653 + text_matches: *654 required: - sha - node_id @@ -100931,7 +103947,7 @@ paths: - interactions - created - updated - - *654 + - *655 - *17 - *19 - name: advanced_search @@ -101045,8 +104061,8 @@ paths: type: - string - 'null' - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -101073,7 +104089,7 @@ paths: - string - 'null' format: date-time - text_matches: *653 + text_matches: *654 pull_request: type: object properties: @@ -101337,7 +104353,7 @@ paths: enum: - created - updated - - *654 + - *655 - *17 - *19 responses: @@ -101382,7 +104398,7 @@ paths: - 'null' score: type: number - text_matches: *653 + text_matches: *654 required: - id - node_id @@ -101467,7 +104483,7 @@ paths: - forks - help-wanted-issues - updated - - *654 + - *655 - *17 - *19 responses: @@ -101713,7 +104729,7 @@ paths: - admin - pull - push - text_matches: *653 + text_matches: *654 temp_clone_token: type: string allow_merge_commit: @@ -102021,7 +105037,7 @@ paths: - string - 'null' format: uri - text_matches: *653 + text_matches: *654 related: type: - array @@ -102214,7 +105230,7 @@ paths: - followers - repositories - joined - - *654 + - *655 - *17 - *19 responses: @@ -102324,7 +105340,7 @@ paths: type: - boolean - 'null' - text_matches: *653 + text_matches: *654 blog: type: - string @@ -102406,7 +105422,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#get-a-team-legacy parameters: - - &657 + - &658 name: team_id description: The unique identifier of the team. in: path @@ -102447,7 +105463,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#update-a-team-legacy parameters: - - *657 + - *658 requestBody: required: true content: @@ -102548,7 +105564,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#delete-a-team-legacy parameters: - - *657 + - *658 responses: '204': description: Response @@ -102577,7 +105593,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -102615,7 +105631,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#list-team-members-legacy parameters: - - *657 + - *658 - name: role description: Filters members returned by their role in the team. in: query @@ -102666,7 +105682,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#get-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -102703,7 +105719,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#add-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -102743,7 +105759,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#remove-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -102780,7 +105796,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 responses: '200': @@ -102789,7 +105805,7 @@ paths: application/json: schema: *330 examples: - response-if-user-is-a-team-maintainer: *658 + response-if-user-is-a-team-maintainer: *659 '404': *6 x-github: githubCloudOnly: false @@ -102822,7 +105838,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 requestBody: required: false @@ -102850,7 +105866,7 @@ paths: application/json: schema: *330 examples: - response-if-users-membership-with-team-is-now-pending: *659 + response-if-users-membership-with-team-is-now-pending: *660 '403': description: Forbidden if team synchronization is set up '422': @@ -102884,7 +105900,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -102912,7 +105928,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#list-team-repositories-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -102954,7 +105970,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy parameters: - - *657 + - *658 - *331 - *332 responses: @@ -102962,7 +105978,7 @@ paths: description: Alternative response with extra repository information content: application/json: - schema: *660 + schema: *661 examples: alternative-response-with-extra-repository-information: value: @@ -103112,7 +106128,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions-legacy parameters: - - *657 + - *658 - *331 - *332 requestBody: @@ -103164,7 +106180,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team-legacy parameters: - - *657 + - *658 - *331 - *332 responses: @@ -103191,7 +106207,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#list-child-teams-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -103203,7 +106219,7 @@ paths: type: array items: *191 examples: - response-if-child-teams-exist: *661 + response-if-child-teams-exist: *662 headers: Link: *66 '404': *6 @@ -103236,7 +106252,7 @@ paths: application/json: schema: oneOf: - - &662 + - &663 title: Private User description: Private User type: object @@ -103486,7 +106502,7 @@ paths: - private_gists - total_private_repos - two_factor_authentication - - &687 + - &688 title: Public User description: Public User type: object @@ -103820,7 +106836,7 @@ paths: description: Response content: application/json: - schema: *662 + schema: *663 examples: default: value: @@ -104218,7 +107234,7 @@ paths: type: integer secrets: type: array - items: &663 + items: &664 title: Codespaces Secret description: Secrets for a GitHub Codespace. type: object @@ -104338,7 +107354,7 @@ paths: description: Response content: application/json: - schema: *663 + schema: *664 examples: default: value: @@ -104751,7 +107767,7 @@ paths: description: Response content: application/json: - schema: &664 + schema: &665 type: object title: Fetches information about an export of a codespace. description: An export of a codespace. Also, latest export details @@ -104804,7 +107820,7 @@ paths: examples: - https://github.com/octocat/hello-world/tree/:branch examples: - default: &665 + default: &666 value: state: succeeded completed_at: '2022-01-01T14:59:22Z' @@ -104849,9 +107865,9 @@ paths: description: Response content: application/json: - schema: *664 + schema: *665 examples: - default: *665 + default: *666 '404': *6 x-github: githubCloudOnly: false @@ -104890,7 +107906,7 @@ paths: type: array items: *452 examples: - default: *666 + default: *667 '304': *35 '500': *53 '401': *23 @@ -105856,7 +108872,7 @@ paths: type: array items: *253 examples: - default: &677 + default: &678 value: - id: 197 name: hello_docker @@ -105957,7 +108973,7 @@ paths: application/json: schema: type: array - items: &667 + items: &668 title: Email description: Email type: object @@ -106027,9 +109043,9 @@ paths: application/json: schema: type: array - items: *667 + items: *668 examples: - default: &679 + default: &680 value: - email: octocat@github.com verified: true @@ -106106,7 +109122,7 @@ paths: application/json: schema: type: array - items: *667 + items: *668 examples: default: value: @@ -106364,7 +109380,7 @@ paths: application/json: schema: type: array - items: &668 + items: &669 title: GPG Key description: A unique encryption key type: object @@ -106509,7 +109525,7 @@ paths: - subkeys - revoked examples: - default: &697 + default: &698 value: - id: 3 name: Octocat's GPG Key @@ -106594,9 +109610,9 @@ paths: description: Response content: application/json: - schema: *668 + schema: *669 examples: - default: &669 + default: &670 value: id: 3 name: Octocat's GPG Key @@ -106653,7 +109669,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user parameters: - - &670 + - &671 name: gpg_key_id description: The unique identifier of the GPG key. in: path @@ -106665,9 +109681,9 @@ paths: description: Response content: application/json: - schema: *668 + schema: *669 examples: - default: *669 + default: *670 '404': *6 '304': *35 '403': *27 @@ -106690,7 +109706,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user parameters: - - *670 + - *671 responses: '204': description: Response @@ -107148,7 +110164,7 @@ paths: application/json: schema: type: array - items: &671 + items: &672 title: Key description: Key type: object @@ -107251,9 +110267,9 @@ paths: description: Response content: application/json: - schema: *671 + schema: *672 examples: - default: &672 + default: &673 value: key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 id: 2 @@ -107292,9 +110308,9 @@ paths: description: Response content: application/json: - schema: *671 + schema: *672 examples: - default: *672 + default: *673 '404': *6 '304': *35 '403': *27 @@ -107350,7 +110366,7 @@ paths: application/json: schema: type: array - items: &673 + items: &674 title: User Marketplace Purchase description: User Marketplace Purchase type: object @@ -107429,7 +110445,7 @@ paths: - account - plan examples: - default: &674 + default: &675 value: - billing_cycle: monthly next_billing_date: '2017-11-11T00:00:00Z' @@ -107491,9 +110507,9 @@ paths: application/json: schema: type: array - items: *673 + items: *674 examples: - default: *674 + default: *675 headers: Link: *66 '304': *35 @@ -108511,7 +111527,7 @@ paths: url: https://docs.github.com/rest/migrations/users#unlock-a-user-repository parameters: - *248 - - *675 + - *676 responses: '204': description: Response @@ -108624,7 +111640,7 @@ paths: - docker - nuget - container - - *676 + - *677 - *19 - *17 responses: @@ -108636,8 +111652,8 @@ paths: type: array items: *253 examples: - default: *677 - '400': *678 + default: *678 + '400': *679 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -108666,7 +111682,7 @@ paths: application/json: schema: *253 examples: - default: &698 + default: &699 value: id: 40201 name: octo-name @@ -109028,9 +112044,9 @@ paths: application/json: schema: type: array - items: *667 + items: *668 examples: - default: *679 + default: *680 headers: Link: *66 '304': *35 @@ -109143,7 +112159,7 @@ paths: type: array items: *78 examples: - default: &686 + default: &687 summary: Default response value: - id: 1296269 @@ -109504,7 +112520,7 @@ paths: type: array items: *528 examples: - default: *680 + default: *681 headers: Link: *66 '304': *35 @@ -109584,7 +112600,7 @@ paths: application/json: schema: type: array - items: &681 + items: &682 title: Social account description: Social media account type: object @@ -109601,7 +112617,7 @@ paths: - provider - url examples: - default: &682 + default: &683 value: - provider: twitter url: https://twitter.com/github @@ -109664,9 +112680,9 @@ paths: application/json: schema: type: array - items: *681 + items: *682 examples: - default: *682 + default: *683 '422': *15 '304': *35 '404': *6 @@ -109754,7 +112770,7 @@ paths: application/json: schema: type: array - items: &683 + items: &684 title: SSH Signing Key description: A public SSH key used to sign Git commits type: object @@ -109774,7 +112790,7 @@ paths: - title - created_at examples: - default: &716 + default: &717 value: - id: 2 key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -109839,9 +112855,9 @@ paths: description: Response content: application/json: - schema: *683 + schema: *684 examples: - default: &684 + default: &685 value: id: 2 key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -109871,7 +112887,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user parameters: - - &685 + - &686 name: ssh_signing_key_id description: The unique identifier of the SSH signing key. in: path @@ -109883,9 +112899,9 @@ paths: description: Response content: application/json: - schema: *683 + schema: *684 examples: - default: *684 + default: *685 '404': *6 '304': *35 '403': *27 @@ -109908,7 +112924,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user parameters: - - *685 + - *686 responses: '204': description: Response @@ -109937,7 +112953,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user parameters: - - &717 + - &718 name: sort description: The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed @@ -109962,11 +112978,11 @@ paths: type: array items: *78 examples: - default-response: *686 + default-response: *687 application/vnd.github.v3.star+json: schema: type: array - items: &718 + items: &719 title: Starred Repository description: Starred Repository type: object @@ -110335,10 +113351,10 @@ paths: application/json: schema: oneOf: - - *662 - - *687 + - *663 + - *688 examples: - default-response: &691 + default-response: &692 summary: Default response value: login: octocat @@ -110373,7 +113389,7 @@ paths: following: 0 created_at: '2008-01-14T04:33:35Z' updated_at: '2008-01-14T04:33:35Z' - response-with-git-hub-plan-information: &692 + response-with-git-hub-plan-information: &693 summary: Response with GitHub plan information value: login: octocat @@ -110430,7 +113446,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/projects/drafts#create-draft-item-for-user-owned-project parameters: - - &689 + - &690 name: user_id description: The unique identifier of the user. in: path @@ -110496,7 +113512,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/users#list-users parameters: - - *688 + - *689 - *17 responses: '200': @@ -110531,7 +113547,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/projects/views#create-a-view-for-a-user-owned-project parameters: - - *689 + - *690 - *271 requestBody: required: true @@ -110606,7 +113622,7 @@ paths: description: Response for creating a view in a user-owned project. content: application/json: - schema: *690 + schema: *691 examples: table_view: summary: Response for creating a table view @@ -110658,11 +113674,11 @@ paths: application/json: schema: oneOf: - - *662 - - *687 + - *663 + - *688 examples: - default-response: *691 - response-with-git-hub-plan-information: *692 + default-response: *692 + response-with-git-hub-plan-information: *693 '404': *6 x-github: githubCloudOnly: false @@ -110712,8 +113728,8 @@ paths: required: - subject_digests examples: - default: *693 - withPredicateType: *694 + default: *694 + withPredicateType: *695 responses: '200': description: Response @@ -110753,7 +113769,7 @@ paths: description: The cursor to the previous page. description: Information about the current page. examples: - default: *695 + default: *696 x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -111226,7 +114242,7 @@ paths: application/json: schema: *187 examples: - default: &696 + default: &697 summary: Example response for a user copilot space value: id: 42 @@ -111327,7 +114343,7 @@ paths: application/json: schema: *187 examples: - default: *696 + default: *697 '403': *27 '404': *6 x-github: @@ -111453,7 +114469,7 @@ paths: application/json: schema: *187 examples: - default: *696 + default: *697 '403': *27 '404': *6 '422': *15 @@ -112221,7 +115237,7 @@ paths: type: array items: *253 examples: - default: *677 + default: *678 '403': *27 '401': *23 x-github: @@ -112605,9 +115621,9 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: - default: *697 + default: *698 headers: Link: *66 x-github: @@ -112836,7 +115852,7 @@ paths: - docker - nuget - container - - *676 + - *677 - *70 - *19 - *17 @@ -112849,10 +115865,10 @@ paths: type: array items: *253 examples: - default: *677 + default: *678 '403': *27 '401': *23 - '400': *678 + '400': *679 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -112882,7 +115898,7 @@ paths: application/json: schema: *253 examples: - default: *698 + default: *699 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -113231,7 +116247,7 @@ paths: type: array items: *274 examples: - default: *699 + default: *700 headers: Link: *66 '304': *35 @@ -113291,7 +116307,7 @@ paths: description: The options available for single select fields. At least one option must be provided when creating a single select field. - items: *700 + items: *701 required: - name - data_type @@ -113307,7 +116323,7 @@ paths: description: The field's data type. enum: - iteration - iteration_configuration: *701 + iteration_configuration: *702 required: - name - data_type @@ -113329,8 +116345,8 @@ paths: value: name: Due date data_type: date - single_select_field: *702 - iteration_field: *703 + single_select_field: *703 + iteration_field: *704 responses: '201': description: Response @@ -113338,11 +116354,11 @@ paths: application/json: schema: *274 examples: - text_field: *704 - number_field: *705 - date_field: *706 - single_select_field: *707 - iteration_field: *708 + text_field: *705 + number_field: *706 + date_field: *707 + single_select_field: *708 + iteration_field: *709 '304': *35 '403': *27 '401': *23 @@ -113364,7 +116380,7 @@ paths: url: https://docs.github.com/rest/projects/fields#get-project-field-for-user parameters: - *271 - - *709 + - *710 - *70 responses: '200': @@ -113373,7 +116389,7 @@ paths: application/json: schema: *274 examples: - default: *710 + default: *711 headers: Link: *66 '304': *35 @@ -113730,7 +116746,7 @@ paths: parameters: - *271 - *70 - - *711 + - *712 - name: fields description: |- Limit results to specific fields, by their IDs. If not specified, the @@ -114005,7 +117021,7 @@ paths: - *116 - *118 - *117 - - *712 + - *713 - *119 responses: '200': @@ -114136,7 +117152,7 @@ paths: parameters: - *70 - *116 - - *713 + - *714 - *117 responses: '200': @@ -114235,9 +117251,9 @@ paths: - *116 - *118 - *117 - - *714 - - *119 - *715 + - *119 + - *716 responses: '200': description: Response when getting a billing usage summary @@ -114371,9 +117387,9 @@ paths: application/json: schema: type: array - items: *681 + items: *682 examples: - default: *682 + default: *683 headers: Link: *66 x-github: @@ -114403,9 +117419,9 @@ paths: application/json: schema: type: array - items: *683 + items: *684 examples: - default: *716 + default: *717 headers: Link: *66 x-github: @@ -114430,7 +117446,7 @@ paths: url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user parameters: - *70 - - *717 + - *718 - *60 - *17 - *19 @@ -114442,11 +117458,11 @@ paths: schema: anyOf: - type: array - items: *718 + items: *719 - type: array items: *78 examples: - default-response: *686 + default-response: *687 headers: Link: *66 x-github: @@ -114606,7 +117622,7 @@ webhooks: type: string enum: - disabled - enterprise: &719 + enterprise: &720 title: Enterprise description: |- An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured @@ -114675,7 +117691,7 @@ webhooks: - created_at - updated_at - avatar_url - installation: &720 + installation: &721 title: Simple Installation description: |- The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -114696,7 +117712,7 @@ webhooks: required: - id - node_id - organization: &721 + organization: &722 title: Organization Simple description: |- A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an @@ -114769,7 +117785,7 @@ webhooks: - public_members_url - avatar_url - description - repository: &722 + repository: &723 title: Repository description: |- The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property @@ -115684,10 +118700,10 @@ webhooks: type: string enum: - enabled - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -115763,11 +118779,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: &723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: &724 title: branch protection rule 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) @@ -115990,11 +119006,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: *723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: *724 sender: *4 required: - action @@ -116182,11 +119198,11 @@ webhooks: - everyone required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: *723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: *724 sender: *4 required: - action @@ -116270,7 +119286,7 @@ webhooks: type: string enum: - completed - check_run: &725 + check_run: &726 title: CheckRun description: A check performed on the code of a given code change type: object @@ -116380,7 +119396,7 @@ webhooks: - examples: - neutral - deployment: *724 + deployment: *725 details_url: type: string examples: @@ -116478,10 +119494,10 @@ webhooks: - output - app - pull_requests - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -116872,11 +119888,11 @@ webhooks: type: string enum: - created - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -117270,11 +120286,11 @@ webhooks: type: string enum: - requested_action - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 requested_action: description: The action requested by the user. type: object @@ -117677,11 +120693,11 @@ webhooks: type: string enum: - rerequested - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -118666,10 +121682,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -119373,10 +122389,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -120074,10 +123090,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -120398,20 +123414,20 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: &726 + commit_oid: &727 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. type: string - enterprise: *719 - installation: *720 - organization: *721 - ref: &727 + enterprise: *720 + installation: *721 + organization: *722 + ref: &728 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. type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -120819,12 +123835,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -121107,12 +124123,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -121458,12 +124474,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -121753,9 +124769,9 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 ref: description: The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event @@ -121763,7 +124779,7 @@ webhooks: type: - string - 'null' - repository: *722 + repository: *723 sender: *4 required: - action @@ -122009,12 +125025,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -122335,10 +125351,10 @@ webhooks: - dismissed_reason - rule - tool - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -122598,10 +125614,10 @@ webhooks: - updated_at - author_association - body - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -122682,18 +125698,18 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 master_branch: description: The name of the repository's default branch (usually `main`). type: string - organization: *721 - pusher_type: &728 + organization: *722 + pusher_type: &729 description: The pusher type for the event. Can be either `user` or a deploy key. type: string - ref: &729 + ref: &730 description: The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. type: string @@ -122703,7 +125719,7 @@ webhooks: enum: - tag - branch - repository: *722 + repository: *723 sender: *4 required: - ref @@ -122786,9 +125802,9 @@ webhooks: enum: - created definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -122873,9 +125889,9 @@ webhooks: description: The name of the property that was deleted. required: - property_name - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -122953,9 +125969,9 @@ webhooks: enum: - promote_to_enterprise definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -123033,9 +126049,9 @@ webhooks: enum: - updated definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -123112,10 +126128,10 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - repository: *722 - organization: *721 + enterprise: *720 + installation: *721 + repository: *723 + organization: *722 sender: *4 new_property_values: type: array @@ -123200,18 +126216,18 @@ webhooks: title: delete event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - pusher_type: *728 - ref: *729 + enterprise: *720 + installation: *721 + organization: *722 + pusher_type: *729 + ref: *730 ref_type: description: The type of Git ref object deleted in the repository. type: string enum: - tag - branch - repository: *722 + repository: *723 sender: *4 required: - ref @@ -123292,10 +126308,10 @@ webhooks: enum: - assignees_changed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123376,10 +126392,10 @@ webhooks: enum: - auto_dismissed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123461,10 +126477,10 @@ webhooks: enum: - auto_reopened alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123546,10 +126562,10 @@ webhooks: enum: - created alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123629,10 +126645,10 @@ webhooks: enum: - dismissed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123712,10 +126728,10 @@ webhooks: enum: - fixed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123796,10 +126812,10 @@ webhooks: enum: - reintroduced alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123879,10 +126895,10 @@ webhooks: enum: - reopened alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -123959,9 +126975,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - key: &730 + enterprise: *720 + installation: *721 + key: &731 description: The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. type: object @@ -123999,8 +127015,8 @@ webhooks: - verified - created_at - read_only - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -124077,11 +127093,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - key: *730 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + key: *731 + organization: *722 + repository: *723 sender: *4 required: - action @@ -124648,12 +127664,12 @@ webhooks: - updated_at - statuses_url - repository_url - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: &734 + workflow: &735 title: Workflow type: - object @@ -125408,9 +128424,9 @@ webhooks: pull_requests: type: array items: *575 - repository: *722 - organization: *721 - installation: *720 + repository: *723 + organization: *722 + installation: *721 sender: *4 responses: '200': @@ -125481,7 +128497,7 @@ webhooks: type: string enum: - approved - approver: &731 + approver: &732 type: object properties: avatar_url: @@ -125524,11 +128540,11 @@ webhooks: type: string comment: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - reviewers: &732 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + reviewers: &733 type: array items: type: object @@ -125609,7 +128625,7 @@ webhooks: sender: *4 since: type: string - workflow_job_run: &733 + workflow_job_run: &734 type: object properties: conclusion: @@ -126355,18 +129371,18 @@ webhooks: type: string enum: - rejected - approver: *731 + approver: *732 comment: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - reviewers: *732 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + reviewers: *733 sender: *4 since: type: string - workflow_job_run: *733 + workflow_job_run: *734 workflow_job_runs: type: array items: @@ -127083,13 +130099,13 @@ webhooks: type: string enum: - requested - enterprise: *719 + enterprise: *720 environment: type: string - installation: *720 - organization: *721 - repository: *722 - requestor: &739 + installation: *721 + organization: *722 + repository: *723 + requestor: &740 title: User type: - object @@ -129022,12 +132038,12 @@ webhooks: - updated_at - deployment_url - repository_url - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Deployment Workflow Run type: @@ -129718,7 +132734,7 @@ webhooks: type: string enum: - answered - answer: &737 + answer: &738 type: object properties: author_association: @@ -129878,11 +132894,11 @@ webhooks: - created_at - updated_at - body - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130009,11 +133025,11 @@ webhooks: - from required: - category - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130096,11 +133112,11 @@ webhooks: type: string enum: - closed - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130182,7 +133198,7 @@ webhooks: type: string enum: - created - comment: &736 + comment: &737 type: object properties: author_association: @@ -130342,11 +133358,11 @@ webhooks: - updated_at - body - reactions - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130429,12 +133445,12 @@ webhooks: type: string enum: - deleted - comment: *736 - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + comment: *737 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130529,12 +133545,12 @@ webhooks: - from required: - body - comment: *736 - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + comment: *737 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130618,11 +133634,11 @@ webhooks: type: string enum: - created - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130704,11 +133720,11 @@ webhooks: type: string enum: - deleted - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130808,11 +133824,11 @@ webhooks: type: string required: - from - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -130894,10 +133910,10 @@ webhooks: type: string enum: - labeled - discussion: *735 - enterprise: *719 - installation: *720 - label: &738 + discussion: *736 + enterprise: *720 + installation: *721 + label: &739 title: Label type: object properties: @@ -130930,8 +133946,8 @@ webhooks: - color - default - description - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131014,11 +134030,11 @@ webhooks: type: string enum: - locked - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131100,11 +134116,11 @@ webhooks: type: string enum: - pinned - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131186,11 +134202,11 @@ webhooks: type: string enum: - reopened - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131275,16 +134291,16 @@ webhooks: changes: type: object properties: - new_discussion: *735 - new_repository: *722 + new_discussion: *736 + new_repository: *723 required: - new_discussion - new_repository - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131367,10 +134383,10 @@ webhooks: type: string enum: - unanswered - discussion: *735 - old_answer: *737 - organization: *721 - repository: *722 + discussion: *736 + old_answer: *738 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131452,12 +134468,12 @@ webhooks: type: string enum: - unlabeled - discussion: *735 - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131540,11 +134556,11 @@ webhooks: type: string enum: - unlocked - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131626,11 +134642,11 @@ webhooks: type: string enum: - unpinned - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131703,7 +134719,7 @@ webhooks: description: A user forks a repository. type: object properties: - enterprise: *719 + enterprise: *720 forkee: description: The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. @@ -132381,9 +135397,9 @@ webhooks: type: integer watchers_count: type: integer - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - forkee @@ -132529,9 +135545,9 @@ webhooks: title: gollum event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pages: description: The pages that were updated. type: array @@ -132569,7 +135585,7 @@ webhooks: - action - sha - html_url - repository: *722 + repository: *723 sender: *4 required: - pages @@ -132645,10 +135661,10 @@ webhooks: type: string enum: - created - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: &740 + organization: *722 + repositories: &741 description: An array of repository objects that the installation can access. type: array @@ -132674,8 +135690,8 @@ webhooks: - name - full_name - private - repository: *722 - requester: *739 + repository: *723 + requester: *740 sender: *4 required: - action @@ -132750,11 +135766,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -132831,11 +135847,11 @@ webhooks: type: string enum: - new_permissions_accepted - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -132912,10 +135928,10 @@ webhooks: type: string enum: - added - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories_added: &741 + organization: *722 + repositories_added: &742 description: An array of repository objects, which were added to the installation. type: array @@ -132961,15 +135977,15 @@ webhooks: private: description: Whether the repository is private or public. type: boolean - repository: *722 - repository_selection: &742 + repository: *723 + repository_selection: &743 description: Describe whether all repositories have been selected or there's a selection involved type: string enum: - all - selected - requester: *739 + requester: *740 sender: *4 required: - action @@ -133048,10 +136064,10 @@ webhooks: type: string enum: - removed - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories_added: *741 + organization: *722 + repositories_added: *742 repositories_removed: description: An array of repository objects, which were removed from the installation. @@ -133078,9 +136094,9 @@ webhooks: - name - full_name - private - repository: *722 - repository_selection: *742 - requester: *739 + repository: *723 + repository_selection: *743 + requester: *740 sender: *4 required: - action @@ -133159,11 +136175,11 @@ webhooks: type: string enum: - suspend - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -133345,10 +136361,10 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 target_type: type: string @@ -133427,11 +136443,11 @@ webhooks: type: string enum: - unsuspend - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -133683,8 +136699,8 @@ webhooks: - performed_via_github_app - body - reactions - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -134496,8 +137512,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -134858,8 +137874,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -134939,7 +137955,7 @@ webhooks: type: string enum: - deleted - comment: &743 + comment: &744 title: issue comment description: The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. @@ -135110,8 +138126,8 @@ webhooks: - performed_via_github_app - body - reactions - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -135919,8 +138935,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -136283,8 +139299,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -136364,7 +139380,7 @@ webhooks: type: string enum: - edited - changes: &767 + changes: &768 description: The changes to the comment. type: object properties: @@ -136376,9 +139392,9 @@ webhooks: type: string required: - from - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -137189,8 +140205,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -137551,8 +140567,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -137633,9 +140649,9 @@ webhooks: type: string enum: - pinned - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -138448,8 +141464,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -138812,8 +141828,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -138893,9 +141909,9 @@ webhooks: type: string enum: - unpinned - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -139708,8 +142724,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -140072,8 +143088,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140162,9 +143178,9 @@ webhooks: type: number blocking_issue: *82 blocking_issue_repo: *78 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140253,9 +143269,9 @@ webhooks: type: number blocking_issue: *82 blocking_issue_repo: *78 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140343,9 +143359,9 @@ webhooks: description: The ID of the blocking issue. type: number blocking_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140434,9 +143450,9 @@ webhooks: description: The ID of the blocking issue. type: number blocking_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140516,10 +143532,10 @@ webhooks: type: string enum: - assigned - assignee: *739 - enterprise: *719 - installation: *720 - issue: &744 + assignee: *740 + enterprise: *720 + installation: *721 + issue: &745 title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -141330,8 +144346,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -141454,8 +144470,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141535,8 +144551,8 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -142352,8 +145368,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -142619,8 +145635,8 @@ webhooks: required: - state - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -142699,8 +145715,8 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -143507,8 +146523,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -143630,8 +146646,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -143710,8 +146726,8 @@ webhooks: type: string enum: - demilestoned - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -144541,8 +147557,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -144643,7 +147659,7 @@ webhooks: format: uri user_view_type: type: string - milestone: &745 + milestone: &746 title: Milestone description: A collection of related issues and pull requests. type: object @@ -144786,8 +147802,8 @@ webhooks: - updated_at - due_on - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -144886,8 +147902,8 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -145698,8 +148714,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -145822,9 +148838,9 @@ webhooks: - active_lock_reason - body - reactions - label: *738 - organization: *721 - repository: *722 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -145904,9 +148920,9 @@ webhooks: type: string enum: - field_added - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 issue_field: type: object description: The issue field whose value was set or updated on the @@ -146025,8 +149041,8 @@ webhooks: - id required: - from - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -146106,9 +149122,9 @@ webhooks: type: string enum: - field_removed - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 issue_field: type: object description: The issue field whose value was cleared from the issue. @@ -146171,8 +149187,8 @@ webhooks: - 'null' required: - id - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -146252,8 +149268,8 @@ webhooks: type: string enum: - labeled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -147063,8 +150079,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -147187,9 +150203,9 @@ webhooks: - active_lock_reason - body - reactions - label: *738 - organization: *721 - repository: *722 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -147269,8 +150285,8 @@ webhooks: type: string enum: - locked - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -148105,8 +151121,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -148206,8 +151222,8 @@ webhooks: format: uri user_view_type: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -148286,8 +151302,8 @@ webhooks: type: string enum: - milestoned - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -149116,8 +152132,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -149217,9 +152233,9 @@ webhooks: format: uri user_view_type: type: string - milestone: *745 - organization: *721 - repository: *722 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -150106,8 +153122,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -150702,8 +153718,8 @@ webhooks: required: - old_issue - old_repository - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -151510,8 +154526,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -151637,8 +154653,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -151718,9 +154734,9 @@ webhooks: type: string enum: - pinned - enterprise: *719 - installation: *720 - issue: &746 + enterprise: *720 + installation: *721 + issue: &747 title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -152525,8 +155541,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -152648,8 +155664,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -152728,8 +155744,8 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -153562,8 +156578,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -153664,8 +156680,8 @@ webhooks: user_view_type: type: string type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -154553,8 +157569,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -155167,11 +158183,11 @@ webhooks: required: - new_issue - new_repository - enterprise: *719 - installation: *720 - issue: *746 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *747 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155251,12 +158267,12 @@ webhooks: type: string enum: - typed - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155337,7 +158353,7 @@ webhooks: type: string enum: - unassigned - assignee: &770 + assignee: &771 title: User type: - object @@ -155409,11 +158425,11 @@ webhooks: required: - login - id - enterprise: *719 - installation: *720 - issue: *744 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *745 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155492,12 +158508,12 @@ webhooks: type: string enum: - unlabeled - enterprise: *719 - installation: *720 - issue: *744 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *745 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155577,8 +158593,8 @@ webhooks: type: string enum: - unlocked - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -156411,8 +159427,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -156512,8 +159528,8 @@ webhooks: format: uri user_view_type: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156593,11 +159609,11 @@ webhooks: type: string enum: - unpinned - enterprise: *719 - installation: *720 - issue: *746 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *747 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156676,12 +159692,12 @@ webhooks: type: string enum: - untyped - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156761,11 +159777,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156843,11 +159859,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156957,11 +159973,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157043,9 +160059,9 @@ webhooks: - cancelled effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: &747 + enterprise: *720 + installation: *721 + marketplace_purchase: &748 title: Marketplace Purchase type: object required: @@ -157133,8 +160149,8 @@ webhooks: type: integer unit_count: type: integer - organization: *721 - previous_marketplace_purchase: &748 + organization: *722 + previous_marketplace_purchase: &749 title: Marketplace Purchase type: object properties: @@ -157218,7 +160234,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -157298,10 +160314,10 @@ webhooks: - changed effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 previous_marketplace_purchase: title: Marketplace Purchase type: object @@ -157389,7 +160405,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -157471,10 +160487,10 @@ webhooks: - pending_change effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 previous_marketplace_purchase: title: Marketplace Purchase type: object @@ -157560,7 +160576,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -157641,8 +160657,8 @@ webhooks: - pending_change_cancelled effective_date: type: string - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 marketplace_purchase: title: Marketplace Purchase type: object @@ -157728,9 +160744,9 @@ webhooks: type: integer unit_count: type: integer - organization: *721 - previous_marketplace_purchase: *748 - repository: *722 + organization: *722 + previous_marketplace_purchase: *749 + repository: *723 sender: *4 required: - action @@ -157810,12 +160826,12 @@ webhooks: - purchased effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 - previous_marketplace_purchase: *748 - repository: *722 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 + previous_marketplace_purchase: *749 + repository: *723 sender: *4 required: - action @@ -157917,11 +160933,11 @@ webhooks: type: string required: - to - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158023,11 +161039,11 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158106,11 +161122,11 @@ webhooks: type: string enum: - removed - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158188,11 +161204,11 @@ webhooks: type: string enum: - added - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 scope: description: The scope of the membership. Currently, can only be `team`. @@ -158270,7 +161286,7 @@ webhooks: required: - login - id - team: &749 + team: &750 title: Team description: Groups of organization members that gives permissions on specified repositories. @@ -158500,11 +161516,11 @@ webhooks: type: string enum: - removed - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 scope: description: The scope of the membership. Currently, can only be `team`. @@ -158583,7 +161599,7 @@ webhooks: required: - login - id - team: *749 + team: *750 required: - action - scope @@ -158665,8 +161681,8 @@ webhooks: type: string enum: - checks_requested - installation: *720 - merge_group: &750 + installation: *721 + merge_group: &751 type: object title: Merge Group description: A group of pull requests that the merge queue has grouped @@ -158692,8 +161708,8 @@ webhooks: - base_sha - base_ref - head_commit - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158779,10 +161795,10 @@ webhooks: - merged - invalidated - dequeued - installation: *720 - merge_group: *750 - organization: *721 - repository: *722 + installation: *721 + merge_group: *751 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158855,7 +161871,7 @@ webhooks: type: string enum: - deleted - enterprise: *719 + enterprise: *720 hook: description: 'The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, @@ -158964,12 +161980,12 @@ webhooks: hook_id: description: The id of the modified webhook. type: integer - installation: *720 - organization: *721 + installation: *721 + organization: *722 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -159049,11 +162065,11 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159132,9 +162148,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - milestone: &751 + enterprise: *720 + installation: *721 + milestone: &752 title: Milestone description: A collection of related issues and pull requests. type: object @@ -159276,8 +162292,8 @@ webhooks: - updated_at - due_on - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159356,11 +162372,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159470,11 +162486,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159554,11 +162570,11 @@ webhooks: type: string enum: - opened - enterprise: *719 - installation: *720 - milestone: *751 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *752 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159637,11 +162653,11 @@ webhooks: type: string enum: - blocked - blocked_user: *739 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + blocked_user: *740 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159720,11 +162736,11 @@ webhooks: type: string enum: - unblocked - blocked_user: *739 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + blocked_user: *740 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159803,9 +162819,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - membership: &752 + enterprise: *720 + installation: *721 + membership: &753 title: Membership description: The membership between the user and the organization. Not present when the action is `member_invited`. @@ -159915,8 +162931,8 @@ webhooks: - role - organization_url - user - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159994,11 +163010,11 @@ webhooks: type: string enum: - member_added - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160077,8 +163093,8 @@ webhooks: type: string enum: - member_invited - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 invitation: description: The invitation for the user or email if the action is `member_invited`. @@ -160200,10 +163216,10 @@ webhooks: - inviter - team_count - invitation_teams_url - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 - user: *739 + user: *740 required: - action - invitation @@ -160281,11 +163297,11 @@ webhooks: type: string enum: - member_removed - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160372,11 +163388,11 @@ webhooks: properties: from: type: string - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160453,9 +163469,9 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 package: description: Information about the package. type: object @@ -160978,7 +163994,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: &753 + items: &754 title: Ruby Gems metadata type: object properties: @@ -161075,7 +164091,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -161151,9 +164167,9 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 package: description: Information about the package. type: object @@ -161515,7 +164531,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: *753 + items: *754 source_url: type: string format: uri @@ -161586,7 +164602,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -161766,12 +164782,12 @@ webhooks: - duration - created_at - updated_at - enterprise: *719 + enterprise: *720 id: type: integer - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - id @@ -161848,7 +164864,7 @@ webhooks: type: string enum: - approved - personal_access_token_request: &754 + personal_access_token_request: &755 title: Personal Access Token Request description: Details of a Personal Access Token Request. type: object @@ -161998,10 +165014,10 @@ webhooks: - token_expired - token_expires_at - token_last_used_at - enterprise: *719 - organization: *721 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162078,11 +165094,11 @@ webhooks: type: string enum: - cancelled - personal_access_token_request: *754 - enterprise: *719 - organization: *721 + personal_access_token_request: *755 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162158,11 +165174,11 @@ webhooks: type: string enum: - created - personal_access_token_request: *754 - enterprise: *719 - organization: *721 + personal_access_token_request: *755 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162237,11 +165253,11 @@ webhooks: type: string enum: - denied - personal_access_token_request: *754 - organization: *721 - enterprise: *719 + personal_access_token_request: *755 + organization: *722 + enterprise: *720 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -162346,7 +165362,7 @@ webhooks: id: description: Unique identifier of the webhook. type: integer - last_response: *755 + last_response: *756 name: description: The type of webhook. The only valid value is 'web'. type: string @@ -162378,8 +165394,8 @@ webhooks: hook_id: description: The ID of the webhook that triggered the ping. type: integer - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 zen: description: Random string of GitHub zen. @@ -162624,10 +165640,10 @@ webhooks: - from required: - note - enterprise: *719 - installation: *720 - organization: *721 - project_card: &756 + enterprise: *720 + installation: *721 + organization: *722 + project_card: &757 title: Project Card type: object properties: @@ -162750,7 +165766,7 @@ webhooks: - creator - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -162831,11 +165847,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project_card: *756 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_card: *757 + repository: *723 sender: *4 required: - action @@ -162915,9 +165931,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 project_card: title: Project Card type: object @@ -163047,7 +166063,7 @@ webhooks: repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -163141,11 +166157,11 @@ webhooks: - from required: - note - enterprise: *719 - installation: *720 - organization: *721 - project_card: *756 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_card: *757 + repository: *723 sender: *4 required: - action @@ -163239,9 +166255,9 @@ webhooks: - from required: - column_id - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 project_card: allOf: - title: Project Card @@ -163438,7 +166454,7 @@ webhooks: type: string required: - after_id - repository: *722 + repository: *723 sender: *4 required: - action @@ -163518,10 +166534,10 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - organization: *721 - project: &758 + enterprise: *720 + installation: *721 + organization: *722 + project: &759 title: Project type: object properties: @@ -163648,7 +166664,7 @@ webhooks: - creator - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -163728,10 +166744,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project_column: &757 + enterprise: *720 + installation: *721 + organization: *722 + project_column: &758 title: Project Column type: object properties: @@ -163771,7 +166787,7 @@ webhooks: - name - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -163850,14 +166866,14 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -163946,11 +166962,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 + repository: *723 sender: *4 required: - action @@ -164030,11 +167046,11 @@ webhooks: type: string enum: - moved - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 + repository: *723 sender: *4 required: - action @@ -164114,11 +167130,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -164198,14 +167214,14 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - project: *758 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -164306,11 +167322,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -164389,11 +167405,11 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -164474,8 +167490,8 @@ webhooks: type: string enum: - closed - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -164557,8 +167573,8 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -164640,8 +167656,8 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -164763,8 +167779,8 @@ webhooks: type: string to: type: string - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -164848,7 +167864,7 @@ webhooks: type: string enum: - archived - changes: &762 + changes: &763 type: object properties: archived_at: @@ -164864,9 +167880,9 @@ webhooks: - string - 'null' format: date-time - installation: *720 - organization: *721 - projects_v2_item: &759 + installation: *721 + organization: *722 + projects_v2_item: &760 title: Projects v2 Item description: An item belonging to a project type: object @@ -165006,9 +168022,9 @@ webhooks: - 'null' to: type: string - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165090,9 +168106,9 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165173,9 +168189,9 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165280,7 +168296,7 @@ webhooks: oneOf: - type: string - type: integer - - &760 + - &761 title: Projects v2 Single Select Option description: An option for a single select field type: object @@ -165304,7 +168320,7 @@ webhooks: required: - id - name - - &761 + - &762 title: Projects v2 Iteration Setting description: An iteration setting for an iteration field type: object @@ -165344,8 +168360,8 @@ webhooks: oneOf: - type: string - type: integer - - *760 - *761 + - *762 type: - 'null' - string @@ -165368,9 +168384,9 @@ webhooks: - 'null' required: - body - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165467,9 +168483,9 @@ webhooks: type: - string - 'null' - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165552,10 +168568,10 @@ webhooks: type: string enum: - restored - changes: *762 - installation: *720 - organization: *721 - projects_v2_item: *759 + changes: *763 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -165637,8 +168653,8 @@ webhooks: type: string enum: - reopened - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -165720,9 +168736,9 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -165803,9 +168819,9 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -165951,9 +168967,9 @@ webhooks: - string - 'null' format: date - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -166024,10 +169040,10 @@ webhooks: title: public event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - repository @@ -166104,13 +169120,13 @@ webhooks: type: string enum: - assigned - assignee: *739 - enterprise: *719 - installation: *720 - number: &764 + assignee: *740 + enterprise: *720 + installation: *721 + number: &765 description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -168462,7 +171478,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -168544,11 +171560,11 @@ webhooks: type: string enum: - auto_merge_disabled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -170893,7 +173909,7 @@ webhooks: - draft reason: type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -170975,11 +173991,11 @@ webhooks: type: string enum: - auto_merge_enabled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -173324,7 +176340,7 @@ webhooks: - draft reason: type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -173406,11 +176422,11 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: &765 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: &766 allOf: - *575 - type: object @@ -173474,7 +176490,7 @@ webhooks: Please use `squash_merge_commit_title` instead.** type: boolean default: false - repository: *722 + repository: *723 sender: *4 required: - action @@ -173555,12 +176571,12 @@ webhooks: type: string enum: - converted_to_draft - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -173640,11 +176656,11 @@ webhooks: type: string enum: - demilestoned - enterprise: *719 + enterprise: *720 milestone: *272 - number: *764 - organization: *721 - pull_request: &766 + number: *765 + organization: *722 + pull_request: &767 title: Pull Request type: object properties: @@ -175988,7 +179004,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -176067,11 +179083,11 @@ webhooks: type: string enum: - dequeued - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -178434,7 +181450,7 @@ webhooks: - BRANCH_PROTECTIONS - GIT_TREE_INVALID - INVALID_MERGE_COMMIT - repository: *722 + repository: *723 sender: *4 required: - action @@ -178558,12 +181574,12 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -178643,11 +181659,11 @@ webhooks: type: string enum: - enqueued - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -180995,7 +184011,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -181075,11 +184091,11 @@ webhooks: type: string enum: - labeled - enterprise: *719 - installation: *720 - label: *738 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + label: *739 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -183430,7 +186446,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -183511,10 +186527,10 @@ webhooks: type: string enum: - locked - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -185863,7 +188879,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -185943,12 +188959,12 @@ webhooks: type: string enum: - milestoned - enterprise: *719 + enterprise: *720 milestone: *272 - number: *764 - organization: *721 - pull_request: *766 - repository: *722 + number: *765 + organization: *722 + pull_request: *767 + repository: *723 sender: *4 required: - action @@ -186027,12 +189043,12 @@ webhooks: type: string enum: - opened - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -186113,12 +189129,12 @@ webhooks: type: string enum: - ready_for_review - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -186198,12 +189214,12 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -186578,9 +189594,9 @@ webhooks: - start_side - side - reactions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -188813,7 +191829,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -188893,7 +191909,7 @@ webhooks: type: string enum: - deleted - comment: &768 + comment: &769 title: Pull Request Review Comment description: The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. @@ -189186,9 +192202,9 @@ webhooks: - start_side - side - reactions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -191409,7 +194425,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -191489,11 +194505,11 @@ webhooks: type: string enum: - edited - changes: *767 - comment: *768 - enterprise: *719 - installation: *720 - organization: *721 + changes: *768 + comment: *769 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -193717,7 +196733,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -193798,9 +196814,9 @@ webhooks: type: string enum: - dismissed - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -196036,7 +199052,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 review: description: The review that was affected. type: object @@ -196287,9 +199303,9 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -198398,8 +201414,8 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 - review: &769 + repository: *723 + review: &770 description: The review that was affected. type: object properties: @@ -198637,12 +201653,12 @@ webhooks: type: string enum: - review_request_removed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -200992,7 +204008,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_reviewer: title: User type: @@ -201078,12 +204094,12 @@ webhooks: type: string enum: - review_request_removed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -203440,7 +206456,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_team: title: Team description: Groups of organization members that gives permissions @@ -203635,12 +206651,12 @@ webhooks: type: string enum: - review_requested - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -205992,7 +209008,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_reviewer: title: User type: @@ -206079,12 +209095,12 @@ webhooks: type: string enum: - review_requested - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -208427,7 +211443,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_team: title: Team description: Groups of organization members that gives permissions @@ -208611,9 +211627,9 @@ webhooks: type: string enum: - submitted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -210852,8 +213868,8 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 - review: *769 + repository: *723 + review: *770 sender: *4 required: - action @@ -210933,9 +213949,9 @@ webhooks: type: string enum: - resolved - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -213083,7 +216099,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 sender: *4 thread: type: object @@ -213480,9 +216496,9 @@ webhooks: type: string enum: - unresolved - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -215613,7 +218629,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 sender: *4 thread: type: object @@ -216012,10 +219028,10 @@ webhooks: type: string before: type: string - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -218353,7 +221369,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -218435,11 +221451,11 @@ webhooks: type: string enum: - unassigned - assignee: *770 - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + assignee: *771 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -220792,7 +223808,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -220871,11 +223887,11 @@ webhooks: type: string enum: - unlabeled - enterprise: *719 - installation: *720 - label: *738 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + label: *739 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -223217,7 +226233,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -223298,10 +226314,10 @@ webhooks: type: string enum: - unlocked - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -225633,7 +228649,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -225836,7 +228852,7 @@ webhooks: deleted: description: Whether this push deleted the `ref`. type: boolean - enterprise: *719 + enterprise: *720 forced: description: Whether this push was a force push of the `ref`. type: boolean @@ -225931,8 +228947,8 @@ webhooks: - url - author - committer - installation: *720 - organization: *721 + installation: *721 + organization: *722 pusher: title: Committer description: Metaproperties for Git author/committer information. @@ -226531,9 +229547,9 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 registry_package: type: object properties: @@ -227010,7 +230026,7 @@ webhooks: type: string rubygems_metadata: type: array - items: *753 + items: *754 summary: type: string tag_name: @@ -227066,7 +230082,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -227144,9 +230160,9 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 registry_package: type: object properties: @@ -227458,7 +230474,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: *753 + items: *754 summary: type: string tag_name: @@ -227508,7 +230524,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -227585,10 +230601,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - release: &771 + enterprise: *720 + installation: *721 + organization: *722 + release: &772 title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. @@ -227919,7 +230935,7 @@ webhooks: - updated_at - zipball_url - body - repository: *722 + repository: *723 sender: *4 required: - action @@ -227996,11 +231012,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -228117,11 +231133,11 @@ webhooks: type: boolean required: - to - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -228199,9 +231215,9 @@ webhooks: type: string enum: - prereleased - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 release: title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) @@ -228537,7 +231553,7 @@ webhooks: - string - 'null' format: uri - repository: *722 + repository: *723 sender: *4 required: - action @@ -228613,10 +231629,10 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - release: &772 + enterprise: *720 + installation: *721 + organization: *722 + release: &773 title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. @@ -228949,7 +231965,7 @@ webhooks: - string - 'null' format: uri - repository: *722 + repository: *723 sender: *4 required: - action @@ -229025,11 +232041,11 @@ webhooks: type: string enum: - released - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -229105,11 +232121,11 @@ webhooks: type: string enum: - unpublished - enterprise: *719 - installation: *720 - organization: *721 - release: *772 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *773 + repository: *723 sender: *4 required: - action @@ -229185,11 +232201,11 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - repository_advisory: *642 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + repository_advisory: *643 sender: *4 required: - action @@ -229265,11 +232281,11 @@ webhooks: type: string enum: - reported - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - repository_advisory: *642 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + repository_advisory: *643 sender: *4 required: - action @@ -229345,10 +232361,10 @@ webhooks: type: string enum: - archived - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -229425,10 +232441,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -229506,10 +232522,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -229594,10 +232610,10 @@ webhooks: additionalProperties: true description: The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -229712,10 +232728,10 @@ webhooks: - 'null' items: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -229787,10 +232803,10 @@ webhooks: title: repository_import event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 status: type: string @@ -229871,10 +232887,10 @@ webhooks: type: string enum: - privatized - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -229951,10 +232967,10 @@ webhooks: type: string enum: - publicized - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230048,10 +233064,10 @@ webhooks: - name required: - repository - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230131,10 +233147,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 sender: *4 required: @@ -230213,10 +233229,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 sender: *4 required: @@ -230295,10 +233311,10 @@ webhooks: type: string enum: - edited - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 changes: type: object @@ -230606,10 +233622,10 @@ webhooks: - from required: - owner - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230687,10 +233703,10 @@ webhooks: type: string enum: - unarchived - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -230768,7 +233784,7 @@ webhooks: type: string enum: - create - alert: &773 + alert: &774 title: Repository Vulnerability Alert Alert description: The security alert of the vulnerable dependency. type: object @@ -230893,10 +233909,10 @@ webhooks: enum: - auto_dismissed - open - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231106,10 +234122,10 @@ webhooks: type: string enum: - dismissed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231187,11 +234203,11 @@ webhooks: type: string enum: - reopen - alert: *773 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *774 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231393,10 +234409,10 @@ webhooks: enum: - fixed - open - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231474,7 +234490,7 @@ webhooks: type: string enum: - assigned - alert: &774 + alert: &775 type: object properties: number: *171 @@ -231614,10 +234630,10 @@ webhooks: - type: 'null' - *4 assignee: *4 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231695,11 +234711,11 @@ webhooks: type: string enum: - created - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231780,11 +234796,11 @@ webhooks: type: string enum: - created - alert: *774 - installation: *720 - location: *775 - organization: *721 - repository: *722 + alert: *775 + installation: *721 + location: *776 + organization: *722 + repository: *723 sender: *4 required: - location @@ -232022,11 +235038,11 @@ webhooks: type: string enum: - publicly_leaked - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232104,11 +235120,11 @@ webhooks: type: string enum: - reopened - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232186,11 +235202,11 @@ webhooks: type: string enum: - resolved - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232268,12 +235284,12 @@ webhooks: type: string enum: - unassigned - alert: *774 + alert: *775 assignee: *4 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232351,11 +235367,11 @@ webhooks: type: string enum: - validated - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232485,10 +235501,10 @@ webhooks: - organization - enterprise - - repository: *722 - enterprise: *719 - installation: *720 - organization: *721 + repository: *723 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -232566,11 +235582,11 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - security_advisory: &776 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + security_advisory: &777 description: The details of the security advisory, including summary, description, and severity. type: object @@ -232743,11 +235759,11 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - security_advisory: *776 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + security_advisory: *777 sender: *4 required: - action @@ -232820,10 +235836,10 @@ webhooks: type: string enum: - withdrawn - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 security_advisory: description: The details of the security advisory, including summary, description, and severity. @@ -232997,9 +236013,9 @@ webhooks: type: object properties: security_and_analysis: *287 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: *334 sender: *4 required: @@ -233078,12 +236094,12 @@ webhooks: type: string enum: - cancelled - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: &777 + sponsorship: &778 type: object properties: created_at: @@ -233388,12 +236404,12 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - sponsorship @@ -233481,12 +236497,12 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -233563,17 +236579,17 @@ webhooks: type: string enum: - pending_cancellation - effective_date: &778 + effective_date: &779 description: The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - sponsorship @@ -233647,7 +236663,7 @@ webhooks: type: string enum: - pending_tier_change - changes: &779 + changes: &780 type: object properties: tier: @@ -233691,13 +236707,13 @@ webhooks: - from required: - tier - effective_date: *778 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + effective_date: *779 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -233774,13 +236790,13 @@ webhooks: type: string enum: - tier_changed - changes: *779 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + changes: *780 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -233854,10 +236870,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 starred_at: description: 'The time the star was created. This is a timestamp @@ -233941,10 +236957,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 starred_at: description: 'The time the star was created. This is a timestamp @@ -234378,15 +237394,15 @@ webhooks: type: - string - 'null' - enterprise: *719 + enterprise: *720 id: description: The unique identifier of the status. type: integer - installation: *720 + installation: *721 name: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 sha: description: The Commit SHA. @@ -234502,9 +237518,9 @@ webhooks: description: The ID of the sub-issue. type: number sub_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234594,9 +237610,9 @@ webhooks: description: The ID of the sub-issue. type: number sub_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234686,9 +237702,9 @@ webhooks: description: The ID of the parent issue. type: number parent_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234778,9 +237794,9 @@ webhooks: description: The ID of the parent issue. type: number parent_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234857,12 +237873,12 @@ webhooks: title: team_add event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - team: &780 + team: &781 title: Team description: Groups of organization members that gives permissions on specified repositories. @@ -235092,9 +238108,9 @@ webhooks: type: string enum: - added_to_repository - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -235564,7 +238580,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -235640,9 +238656,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -236112,7 +239128,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -236189,9 +239205,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -236661,7 +239677,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -236805,9 +239821,9 @@ webhooks: - from required: - permissions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -237277,7 +240293,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - changes @@ -237355,9 +240371,9 @@ webhooks: type: string enum: - removed_from_repository - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -237827,7 +240843,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -237903,10 +240919,10 @@ webhooks: type: string enum: - started - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -237979,17 +240995,17 @@ webhooks: title: workflow_dispatch event type: object properties: - enterprise: *719 + enterprise: *720 inputs: type: - object - 'null' additionalProperties: true - installation: *720 - organization: *721 + installation: *721 + organization: *722 ref: type: string - repository: *722 + repository: *723 sender: *4 workflow: type: string @@ -238071,10 +241087,10 @@ webhooks: type: string enum: - completed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: allOf: @@ -238409,10 +241425,10 @@ webhooks: type: string enum: - in_progress - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: allOf: @@ -238773,10 +241789,10 @@ webhooks: type: string enum: - queued - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: type: object @@ -239001,10 +242017,10 @@ webhooks: type: string enum: - waiting - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: type: object @@ -239231,12 +242247,12 @@ webhooks: type: string enum: - completed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object @@ -240255,12 +243271,12 @@ webhooks: type: string enum: - in_progress - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object @@ -241264,12 +244280,12 @@ webhooks: type: string enum: - requested - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object diff --git a/descriptions-next/api.github.com/dereferenced/api.github.com.deref.json b/descriptions-next/api.github.com/dereferenced/api.github.com.deref.json index 7541edcc09..57b0cd2426 100644 --- a/descriptions-next/api.github.com/dereferenced/api.github.com.deref.json +++ b/descriptions-next/api.github.com/dereferenced/api.github.com.deref.json @@ -2352,6 +2352,3174 @@ } } }, + "/agents/repos/{owner}/{repo}/tasks": { + "get": { + "summary": "List tasks for repository", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for a specific repository\n\n**Fine-grained access tokens for \"List tasks for repository\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks-for-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + }, + { + "name": "creator_id", + "in": "query", + "schema": { + "type": "integer" + }, + "description": "Filter tasks by creator user ID" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"prev\" (when current page > 1),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Start a task", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nStarts a new Copilot cloud agent task for a repository.\n\nThis endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription.\n\n**Fine-grained access tokens for \"Start a task\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read and write)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/create-task-in-repo", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + } + ], + "requestBody": { + "required": true, + "description": "The task creation parameters, including the user's prompt and optional agent settings.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "prompt" + ], + "properties": { + "prompt": { + "type": "string", + "description": "The user's prompt for the agent" + }, + "model": { + "type": "string", + "description": "The model to use for this task. The allowed models may change over time and depend on the user's GitHub Copilot plan and organization policies. Currently supported values: `claude-sonnet-4.6`, `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, `claude-sonnet-4.5`, `claude-opus-4.5`" + }, + "create_pull_request": { + "type": "boolean", + "description": "Whether to create a PR.", + "default": false + }, + "base_ref": { + "type": "string", + "description": "Base ref for new branch/PR" + } + } + }, + "examples": { + "default": { + "value": { + "prompt": "Fix the login button on the homepage", + "base_ref": "main" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Task created successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "queued", + "session_count": 1, + "artifacts": [], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T00:00:00Z" + } + } + } + } + } + }, + "400": { + "description": "Problems parsing JSON", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/repos/{owner}/{repo}/tasks/{task_id}": { + "get": { + "summary": "Get a task by repo", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID scoped to an owner/repo path\n\n**Fine-grained access tokens for \"Get a task by repo\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-repo-and-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "owner", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The account owner of the repository. The name is not case sensitive." + }, + { + "name": "repo", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The name of the repository. The name is not case sensitive." + }, + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks": { + "get": { + "summary": "List tasks", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a list of tasks for the authenticated user\n\n**Fine-grained access tokens for \"List tasks\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/list-tasks", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1, + "maximum": 100 + }, + "description": "The number of results per page (max 100)." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number of the results to fetch." + }, + { + "name": "sort", + "in": "query", + "schema": { + "type": "string", + "default": "updated_at", + "enum": [ + "updated_at", + "created_at" + ] + }, + "description": "The field to sort results by. Can be `updated_at` or `created_at`." + }, + { + "name": "direction", + "in": "query", + "schema": { + "type": "string", + "default": "desc", + "enum": [ + "asc", + "desc" + ] + }, + "description": "The direction to sort results. Can be `asc` or `desc`." + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + }, + "description": "Comma-separated list of task states to filter by. Can be any combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, `waiting_for_user`, `timed_out`, `cancelled`." + }, + { + "name": "is_archived", + "in": "query", + "schema": { + "type": "boolean", + "default": false + }, + "description": "Filter by archived status. When `true`, returns only archived tasks. When `false` or omitted, returns only non-archived tasks. Defaults to `false`." + }, + { + "name": "since", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + }, + "description": "Only show tasks updated at or after this time (ISO 8601 timestamp)" + } + ], + "responses": { + "200": { + "description": "Tasks retrieved successfully", + "headers": { + "Link": { + "description": "Pagination links. Contains rel=\"first\" (always),\nrel=\"next\" (when more pages exist), and rel=\"last\" (when on the final page).\n", + "schema": { + "type": "string" + }, + "example": "; rel=\"next\", ; rel=\"first\"" + } + }, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "tasks" + ], + "properties": { + "tasks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + "description": "List of tasks" + }, + "total_active_count": { + "type": "integer", + "format": "int32", + "description": "Total count of active (non-archived) tasks" + }, + "total_archived_count": { + "type": "integer", + "format": "int32", + "description": "Total count of archived tasks" + } + } + }, + "examples": { + "default": { + "value": { + "tasks": [ + { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Bad request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, + "/agents/tasks/{task_id}": { + "get": { + "summary": "Get a task by ID", + "description": "> [!NOTE]\n> This endpoint is in public preview and is subject to change.\n\nReturns a task by ID with its associated sessions\n\n**Fine-grained access tokens for \"Get a task by ID\"**\n\nThis endpoint works with the following fine-grained token types:\n\n* [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)\n* [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token)\n\nThe fine-grained token must have the following permission set:\n\n* \"Agent tasks\" repository permissions (read)\n\nGitHub App installation access tokens are not supported for this endpoint.\n", + "tags": [ + "agent-tasks" + ], + "operationId": "agent-tasks/get-task-by-id", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id" + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "agent-tasks", + "subcategory": "agent-tasks" + }, + "parameters": [ + { + "name": "task_id", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "The unique identifier of the task." + } + ], + "responses": { + "200": { + "description": "Task retrieved successfully", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Unique task identifier" + }, + "url": { + "type": "string", + "description": "API URL for this task" + }, + "html_url": { + "type": "string", + "description": "Web URL for this task" + }, + "name": { + "type": "string", + "description": "Human-readable name derived from the task prompt" + }, + "creator": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + } + ], + "description": "The entity who created this task" + }, + "creator_type": { + "type": "string", + "description": "Type of the task creator", + "enum": [ + "user", + "organization" + ] + }, + "user_collaborators": { + "type": "array", + "items": { + "type": "object", + "description": "A GitHub user", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "description": "User objects of collaborators on this task", + "deprecated": true + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this task belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "state": { + "type": "string", + "description": "Current state of the task, derived from its most recent session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "session_count": { + "type": "integer", + "format": "int32", + "description": "Number of sessions in this task" + }, + "artifacts": { + "type": "array", + "items": { + "type": "object", + "description": "A resource generated by the task", + "required": [ + "provider", + "type", + "data" + ], + "properties": { + "provider": { + "type": "string", + "enum": [ + "github" + ], + "description": "Provider namespace" + }, + "type": { + "type": "string", + "enum": [ + "pull", + "branch" + ], + "description": "Type of artifact. Available Values: `pull`, `branch`.\n" + }, + "data": { + "oneOf": [ + { + "type": "object", + "description": "A GitHub resource (pull request, issue, etc.)", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "GitHub resource ID" + }, + "global_id": { + "type": "string", + "description": "GraphQL global ID" + } + } + }, + { + "type": "object", + "description": "A Git branch reference", + "required": [ + "head_ref", + "base_ref" + ], + "properties": { + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + } + } + } + ], + "description": "Resource data (shape depends on type)" + } + } + }, + "description": "Resources created by this task (PRs, branches, etc.)" + }, + "archived_at": { + "type": [ + "string", + "null" + ], + "format": "date-time", + "description": "Timestamp when the task was archived, null if not archived" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp of the most recent update" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Timestamp when the task was created" + } + } + }, + { + "type": "object", + "properties": { + "sessions": { + "type": "array", + "items": { + "type": "object", + "description": "Full session details within a task", + "required": [ + "id", + "state", + "created_at" + ], + "properties": { + "id": { + "type": "string", + "description": "Session ID" + }, + "name": { + "type": "string", + "description": "Session name" + }, + "user": { + "description": "The user who created this session", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "owner": { + "description": "The owner of the repository", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the user" + } + } + }, + "repository": { + "description": "The repository this session belongs to", + "type": "object", + "properties": { + "id": { + "type": "integer", + "format": "int64", + "description": "The unique identifier of the repository" + } + } + }, + "task_id": { + "type": "string", + "description": "Task ID this session belongs to" + }, + "state": { + "type": "string", + "description": "Current state of a session", + "enum": [ + "queued", + "in_progress", + "completed", + "failed", + "idle", + "waiting_for_user", + "timed_out", + "cancelled" + ] + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Creation timestamp" + }, + "updated_at": { + "type": "string", + "format": "date-time", + "description": "Last update timestamp" + }, + "completed_at": { + "type": "string", + "format": "date-time", + "description": "Completion timestamp" + }, + "prompt": { + "type": "string", + "description": "Content of the triggering event" + }, + "head_ref": { + "type": "string", + "description": "Head branch name" + }, + "base_ref": { + "type": "string", + "description": "Base branch name" + }, + "model": { + "type": "string", + "description": "Model used for this session" + }, + "error": { + "type": "object", + "description": "Error details for a failed session", + "properties": { + "message": { + "type": "string", + "description": "Error message" + } + } + } + } + }, + "description": "Sessions associated with this task" + } + } + } + ] + }, + "examples": { + "default": { + "value": { + "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "url": "https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "html_url": "https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "creator": { + "id": 1 + }, + "creator_type": "user", + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "state": "completed", + "session_count": 1, + "artifacts": [ + { + "provider": "github", + "type": "pull", + "data": { + "id": 42 + } + } + ], + "archived_at": null, + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "sessions": [ + { + "id": "s1a2b3c4-d5e6-7890-abcd-ef1234567890", + "name": "Fix the login button on the homepage", + "user": { + "id": 1 + }, + "owner": { + "id": 1 + }, + "repository": { + "id": 1296269 + }, + "task_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", + "state": "completed", + "created_at": "2025-01-01T00:00:00Z", + "updated_at": "2025-01-01T01:00:00Z", + "completed_at": "2025-01-01T01:00:00Z", + "prompt": "Fix the login button on the homepage", + "head_ref": "copilot/fix-1", + "base_ref": "main", + "model": "claude-sonnet-4.6" + } + ] + } + } + } + } + } + }, + "400": { + "description": "Problems parsing request", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "401": { + "description": "Authentication required", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "403": { + "description": "Insufficient permissions", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + }, + "422": { + "description": "Validation Failed", + "content": { + "application/json": { + "schema": { + "type": "object", + "description": "Structured error response following GitHub REST API conventions.\nFor 422 Unprocessable Entity the errors array contains validation\ndetails; for other error status codes only message and\ndocumentation_url are returned.", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string", + "description": "Summary message (e.g. \"Validation Failed\", \"Not Found\")" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "description": "A single validation error", + "required": [ + "code" + ], + "properties": { + "code": { + "type": "string", + "enum": [ + "missing", + "missing_field", + "invalid", + "already_exists", + "unprocessable", + "custom" + ], + "description": "Machine-readable error code" + }, + "message": { + "type": "string", + "description": "Human-readable message (populated when code is \"custom\")" + } + } + }, + "description": "List of validation errors (present only for 422 responses)" + }, + "documentation_url": { + "type": "string", + "description": "URL to relevant API documentation" + } + } + } + } + } + } + } + } + }, "/app": { "get": { "summary": "Get the authenticated app", @@ -109469,7 +112637,7 @@ "/orgs/{org}/artifacts/metadata/deployment-record/cluster/{cluster}": { "post": { "summary": "Set cluster deployment records", - "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.", + "description": "Set deployment records for a given cluster.\nIf proposed records in the 'deployments' field have identical 'cluster', 'logical_environment',\n'physical_environment', and 'deployment_name' values as existing records, the existing records will be updated.\nIf no existing records match, new records will be created.\nNote: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments\narray resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use\nthe artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can\nonly have one name and version.", "tags": [ "orgs" ], @@ -109528,20 +112696,20 @@ "properties": { "name": { "type": "string", - "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", + "description": "The name of the artifact.", "minLength": 1, "maxLength": 256 }, "digest": { "type": "string", - "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", + "description": "The hex encoded digest of the artifact.", "minLength": 71, "maxLength": 71, "pattern": "^sha256:[a-f0-9]{64}$" }, "version": { "type": "string", - "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", + "description": "The artifact version.", "maxLength": 100, "x-multi-segment": true, "examples": [ @@ -201271,7 +204439,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -201356,6 +204525,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -201508,7 +204685,7 @@ }, "post": { "summary": "Create a private registry for an organization", - "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nCreates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -201599,7 +204776,7 @@ } }, "auth_type": { - "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith` for OIDC authentication.", + "description": "The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication.", "type": "string", "enum": [ "token", @@ -201607,7 +204784,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -201643,7 +204821,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -201661,6 +204839,14 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" } }, "required": [ @@ -201719,6 +204905,17 @@ "service_slug": "my-service-account", "audience": "https://github.com/my-org" } + }, + "org-private-registry-with-oidc-gcp": { + "summary": "Example of an OIDC private registry configuration using Google Cloud Artifact Registry", + "value": { + "registry_type": "docker_registry", + "url": "https://us-docker.pkg.dev/my-project/my-repo", + "auth_type": "oidc_gcp", + "visibility": "all", + "workload_identity_provider": "projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider", + "service_account": "dependabot@my-project.iam.gserviceaccount.com" + } } } } @@ -201770,7 +204967,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -201859,6 +205057,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -202198,7 +205404,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ], "type": "string" }, @@ -202283,6 +205490,14 @@ "description": "The Cloudsmith API host.", "type": "string" }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`).", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. If omitted, the federated token is used directly (direct WIF).", + "type": "string" + }, "created_at": { "type": "string", "format": "date-time" @@ -202351,7 +205566,7 @@ }, "patch": { "summary": "Update a private registry for an organization", - "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", + "description": "\nUpdates 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).\"\nFor OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), the `encrypted_value` and `key_id` fields should be omitted.\n\nOAuth app tokens and personal access tokens (classic) need the `admin:org` scope to use this endpoint.", "tags": [ "private-registries" ], @@ -202459,7 +205674,8 @@ "oidc_azure", "oidc_aws", "oidc_jfrog", - "oidc_cloudsmith" + "oidc_cloudsmith", + "oidc_gcp" ] }, "tenant_id": { @@ -202495,7 +205711,7 @@ "type": "string" }, "audience": { - "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and required for `oidc_cloudsmith` auth types.", + "description": "The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, and `oidc_gcp`, and required for `oidc_cloudsmith` auth types.", "type": "string" }, "identity_mapping_name": { @@ -202513,6 +205729,14 @@ "api_host": { "description": "The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default.", "type": "string" + }, + "workload_identity_provider": { + "description": "The full resource name of the GCP Workload Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). Required when `auth_type` is `oidc_gcp`.", + "type": "string" + }, + "service_account": { + "description": "The GCP service account email to impersonate. Optional for `oidc_gcp` auth type. If omitted, the federated token is used directly (direct WIF).", + "type": "string" } } }, @@ -252521,6 +255745,15 @@ "type": "boolean", "default": false } + }, + { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { @@ -282481,25 +285714,547 @@ } }, { - "name": "cache_id", - "description": "The unique identifier of the GitHub Actions cache.", + "name": "cache_id", + "description": "The unique identifier of the GitHub Actions cache.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "204": { + "description": "Response" + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "cache" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a repository", + "description": "Lists the active concurrency groups for a repository.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "per_page", + "description": "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).\"", + "in": "query", + "schema": { + "type": "integer", + "default": 30 + } + }, + { + "name": "after", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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).\"", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Concurrency Group List", + "description": "A list of active concurrency groups for a repository.", + "type": "object", + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer" + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "last_acquired_at" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "last_acquired_at": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + } + } + }, + "examples": { + "default": { + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "last_acquired_at": "2026-01-15T16:14:23Z" + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "last_acquired_at": "2026-01-15T16:13:55Z" + } + ] + } + } + } + } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } + } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "concurrency-groups" + } + } + }, + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": { + "get": { + "summary": "Get a concurrency group for a repository", + "description": "Gets a specific concurrency group for a repository, including all instances in the group's queue.\nReturns 404 if the group is inactive or does not exist.\n\nOptionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items\nahead of the specified workflow run or job in the queue, plus the specified item itself\n(returned as the last element). This is useful for determining what is blocking a particular\nrun or job. Returns 422 if the specified run or job is not in this concurrency group.\n\nWhen using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow\nleases held on behalf of that run. Job-level leases within the run are not considered to\nblock the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow\nleases on the job's ancestor paths.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/get-concurrency-group-for-repository", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "concurrency_group_name", + "description": "The name of the concurrency group.", "in": "path", "required": true, "schema": { - "type": "integer" + "type": "string" + } + }, + { + "name": "ahead_of_run", + "description": "Filter to items ahead of this workflow run ID in the queue, plus the run itself.\nMatches workflow-level concurrency and reusable-workflow leases held on behalf of\nthe run. Mutually exclusive with `ahead_of_job`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "ahead_of_job", + "description": "Filter to items ahead of this job ID in the queue, plus the job itself.\nMatches job-level concurrency and reusable-workflow leases on the job's\nancestor paths. Mutually exclusive with `ahead_of_run`.", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 } } ], "responses": { - "204": { - "description": "Response" + "200": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Concurrency Group", + "description": "A concurrency group with the workflow runs and jobs that are either currently holding\nor waiting for the concurrency group lease.", + "type": "object", + "required": [ + "group_name", + "group_url", + "total_count", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group." + }, + "total_count": { + "type": "integer" + }, + "group_members": { + "type": "array", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "job_id": { + "type": "integer", + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": "string", + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + }, + "examples": { + "default": { + "value": { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "total_count": 3, + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress" + }, + { + "run_id": 30433643, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", + "status": "pending" + }, + { + "run_id": 30433644, + "run_name": "Deploy hotfix", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", + "job_id": 798245260, + "job_name": "deploy", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", + "status": "pending" + } + ] + } + } + } + } + } + }, + "404": { + "description": "Resource not found", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } } }, "x-github": { "githubCloudOnly": false, "enabledForGitHubApps": true, "category": "actions", - "subcategory": "cache" + "subcategory": "concurrency-groups" } } }, @@ -300137,99 +303892,386 @@ } }, { - "name": "attempt_number", - "description": "The attempt number of the workflow run.", - "in": "path", - "required": true, - "schema": { - "type": "integer" - } - } - ], - "responses": { - "302": { - "description": "Response", - "headers": { - "Location": { - "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", - "schema": { - "type": "string" - } - } - } - } - }, - "x-github": { - "githubCloudOnly": false, - "enabledForGitHubApps": true, - "category": "actions", - "subcategory": "workflow-runs" - } - } - }, - "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { - "post": { - "summary": "Cancel a workflow run", - "description": "Cancels a workflow run using its `id`.\n\nOAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.", - "tags": [ - "actions" - ], - "operationId": "actions/cancel-workflow-run", - "externalDocs": { - "description": "API method documentation", - "url": "https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run" - }, - "parameters": [ - { - "name": "owner", - "description": "The account owner of the repository. The name is not case sensitive.", - "in": "path", - "required": true, + "name": "attempt_number", + "description": "The attempt number of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "302": { + "description": "Response", + "headers": { + "Location": { + "example": "https://pipelines.actions.githubusercontent.com/ab1f3cCFPB34Nd6imvFxpGZH5hNlDp2wijMwl2gDoO0bcrrlJj/_apis/pipelines/1/runs/19/signedlogcontent?urlExpires=2020-01-22T22%3A44%3A54.1389777Z&urlSigningMethod=HMACV1&urlSignature=2TUDfIg4fm36OJmfPy6km5QD5DLCOkBVzvhWZM8B%2BUY%3D", + "schema": { + "type": "string" + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/cancel": { + "post": { + "summary": "Cancel a workflow run", + "description": "Cancels a workflow run using its `id`.\n\nOAuth tokens and personal access tokens (classic) need the `repo` scope to use this endpoint.", + "tags": [ + "actions" + ], + "operationId": "actions/cancel-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/workflow-runs#cancel-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The unique identifier of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + } + ], + "responses": { + "202": { + "description": "Response", + "content": { + "application/json": { + "schema": { + "title": "Empty Object", + "description": "An object without any properties.", + "type": "object", + "properties": {}, + "additionalProperties": false + }, + "examples": { + "default": { + "value": null + } + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "title": "Basic Error", + "description": "Basic Error", + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "url": { + "type": "string" + }, + "status": { + "type": "string" + } + } + } + } + } + } + }, + "x-github": { + "githubCloudOnly": false, + "enabledForGitHubApps": true, + "category": "actions", + "subcategory": "workflow-runs" + } + } + }, + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": { + "get": { + "summary": "List concurrency groups for a workflow run", + "description": "Lists all concurrency groups associated with a workflow run or its jobs.\n\nThe set of groups is derived from the run's configuration, so a group is\nincluded even when the run no longer has any items currently holding or\nwaiting in it. In that case the `group_members` array will be empty.\n`total_count` reflects the number of groups the run participates in by\nconfiguration, not the number with active items.\n\nThis differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`,\nwhich returns 404 when a group has no active items. That endpoint reports\nthe live state of a group repo-wide, while this endpoint reports the\ngroups associated with a specific run by configuration.\n\nResults are sorted by group name and support cursor-based pagination via\n`before` and `after`. The `after` cursor paginates forward only and does\nnot emit a `rel=\"prev\"` Link; use `before` to page backward from a\nforward page's `next` cursor.\n\nOAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository.", + "tags": [ + "actions" + ], + "operationId": "actions/list-concurrency-groups-for-workflow-run", + "externalDocs": { + "description": "API method documentation", + "url": "https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run" + }, + "parameters": [ + { + "name": "owner", + "description": "The account owner of the repository. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "repo", + "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "run_id", + "description": "The unique identifier of the workflow run.", + "in": "path", + "required": true, + "schema": { + "type": "integer" + } + }, + { + "name": "per_page", + "description": "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).\"", + "in": "query", "schema": { - "type": "string" + "type": "integer", + "default": 30 } }, { - "name": "repo", - "description": "The name of the repository without the `.git` extension. The name is not case sensitive.", - "in": "path", - "required": true, + "name": "before", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. 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).\"", + "in": "query", + "required": false, "schema": { "type": "string" } }, { - "name": "run_id", - "description": "The unique identifier of the workflow run.", - "in": "path", - "required": true, + "name": "after", + "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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).\"", + "in": "query", + "required": false, "schema": { - "type": "integer" + "type": "string" } } ], "responses": { - "202": { + "200": { "description": "Response", "content": { "application/json": { "schema": { - "title": "Empty Object", - "description": "An object without any properties.", + "title": "Concurrency Group Run List", + "description": "A list of concurrency groups associated with a workflow run.", "type": "object", - "properties": {}, - "additionalProperties": false + "required": [ + "total_count", + "concurrency_groups" + ], + "properties": { + "total_count": { + "type": "integer", + "description": "The total number of concurrency groups this workflow run participates in,\nderived from the run's configuration. This count is not filtered by\nwhether the run currently holds or is waiting in each group, so it can\ninclude groups whose `group_members` array is empty (for example, when\nthe run has already released its lease in that group)." + }, + "concurrency_groups": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group_name", + "group_url", + "group_members" + ], + "properties": { + "group_name": { + "type": "string", + "description": "The name of the concurrency group." + }, + "group_url": { + "type": "string", + "format": "uri", + "description": "API URL for this concurrency group. May return 404 if the group\nhas no active items at the time it is requested, since the\nget-by-name endpoint reports the live repo-wide state of a group\nwhile this endpoint lists groups associated with a run by\nconfiguration." + }, + "group_members": { + "type": "array", + "description": "Items belonging to this workflow run that are either currently holding or\nwaiting for the concurrency group lease. May be empty if the run no\nlonger has any active or queued items in this group.", + "items": { + "type": "object", + "required": [ + "run_id", + "run_name", + "run_url", + "run_html_url", + "status", + "position", + "position_url" + ], + "properties": { + "run_id": { + "type": "integer", + "description": "The ID of the workflow run." + }, + "run_name": { + "type": "string", + "description": "The name of the workflow run." + }, + "run_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the workflow run." + }, + "run_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the workflow run." + }, + "position": { + "type": "integer", + "description": "Queue position. 0 means the item holds the concurrency lease (in_progress), 1 or higher means queued (pending)." + }, + "position_url": { + "type": "string", + "format": "uri", + "description": "API URL to get items ahead of this item in the concurrency group." + }, + "job_id": { + "type": [ + "integer", + "null" + ], + "description": "The ID of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_name": { + "type": [ + "string", + "null" + ], + "description": "The display name of the job, when the item represents a job-level or reusable-workflow-level lease." + }, + "job_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "API URL for the job." + }, + "job_html_url": { + "type": [ + "string", + "null" + ], + "format": "uri", + "description": "Web URL for the job." + }, + "status": { + "type": "string", + "enum": [ + "in_progress", + "pending" + ] + } + } + } + } + } + } + } + } }, "examples": { "default": { - "value": null + "value": { + "total_count": 2, + "concurrency_groups": [ + { + "group_name": "deploy-prod", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "in_progress", + "position": 0, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" + } + ] + }, + { + "group_name": "ci-build", + "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", + "group_members": [ + { + "run_id": 30433642, + "run_name": "Deploy to production", + "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", + "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", + "status": "pending", + "position": 2, + "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", + "job_id": 798245260, + "job_name": "build", + "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", + "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" + } + ] + } + ] + } } } } + }, + "headers": { + "Link": { + "example": "; rel=\"next\", ; rel=\"last\"", + "schema": { + "type": "string" + } + } } }, - "409": { - "description": "Conflict", + "404": { + "description": "Resource not found", "content": { "application/json": { "schema": { @@ -300253,13 +304295,88 @@ } } } + }, + "422": { + "description": "Validation failed, or the endpoint has been spammed.", + "content": { + "application/json": { + "schema": { + "title": "Validation Error", + "description": "Validation Error", + "type": "object", + "required": [ + "message", + "documentation_url" + ], + "properties": { + "message": { + "type": "string" + }, + "documentation_url": { + "type": "string" + }, + "errors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "code" + ], + "properties": { + "resource": { + "type": "string" + }, + "field": { + "type": "string" + }, + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "index": { + "type": "integer" + }, + "value": { + "oneOf": [ + { + "type": [ + "string", + "null" + ] + }, + { + "type": [ + "integer", + "null" + ] + }, + { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + } + } + ] + } + } + } + } + } + } + } + } } }, "x-github": { "githubCloudOnly": false, "enabledForGitHubApps": true, "category": "actions", - "subcategory": "workflow-runs" + "subcategory": "concurrency-groups" } } }, @@ -646097,6 +650214,15 @@ "type": "boolean", "default": false } + }, + { + "name": "is_bypassed", + "in": "query", + "description": "A boolean value (`true` or `false`) indicating whether to filter alerts by their push protection bypass status. When set to `true`, only alerts that were created because a push protection rule was bypassed will be returned. When set to `false`, only alerts that were not caused by a push protection bypass will be returned.", + "required": false, + "schema": { + "type": "boolean" + } } ], "responses": { diff --git a/descriptions-next/api.github.com/dereferenced/api.github.com.deref.yaml b/descriptions-next/api.github.com/dereferenced/api.github.com.deref.yaml index e34dac270e..85e366e518 100644 --- a/descriptions-next/api.github.com/dereferenced/api.github.com.deref.yaml +++ b/descriptions-next/api.github.com/dereferenced/api.github.com.deref.yaml @@ -1129,7 +1129,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/security-advisories/global-advisories#get-a-global-security-advisory parameters: - - &644 + - &645 name: ghsa_id description: The GHSA (GitHub Security Advisory) identifier of the advisory. in: path @@ -1225,6 +1225,2530 @@ paths: enabledForGitHubApps: true category: security-advisories subcategory: global-advisories + "/agents/repos/{owner}/{repo}/tasks": + get: + summary: List tasks for repository + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for a specific repository + + **Fine-grained access tokens for "List tasks for repository"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks-for-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks-for-repository + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + - name: creator_id + in: query + schema: + type: integer + description: Filter tasks by creator user ID + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="prev" (when current page > 1), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; + rel="next", ; + rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + post: + summary: Start a task + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Starts a new Copilot cloud agent task for a repository. + + This endpoint is only available to users with a Copilot Business or Copilot Enterprise subscription. + + **Fine-grained access tokens for "Start a task"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read and write) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/create-task-in-repo + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#start-a-task + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + requestBody: + required: true + description: The task creation parameters, including the user's prompt and + optional agent settings. + content: + application/json: + schema: + type: object + required: + - prompt + properties: + prompt: + type: string + description: The user's prompt for the agent + model: + type: string + description: 'The model to use for this task. The allowed models + may change over time and depend on the user''s GitHub Copilot + plan and organization policies. Currently supported values: `claude-sonnet-4.6`, + `claude-opus-4.6`, `gpt-5.2-codex`, `gpt-5.3-codex`, `gpt-5.4`, + `claude-sonnet-4.5`, `claude-opus-4.5`' + create_pull_request: + type: boolean + description: Whether to create a PR. + default: false + base_ref: + type: string + description: Base ref for new branch/PR + examples: + default: + value: + prompt: Fix the login button on the homepage + base_ref: main + responses: + '201': + description: Task created successfully + content: + application/json: + schema: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: queued + session_count: 1 + artifacts: [] + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T00:00:00Z' + '400': + description: Problems parsing JSON + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/repos/{owner}/{repo}/tasks/{task_id}": + get: + summary: Get a task by repo + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID scoped to an owner/repo path + + **Fine-grained access tokens for "Get a task by repo"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-repo-and-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-repo + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: owner + in: path + required: true + schema: + type: string + description: The account owner of the repository. The name is not case sensitive. + - name: repo + in: path + required: true + schema: + type: string + description: The name of the repository. The name is not case sensitive. + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks": + get: + summary: List tasks + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a list of tasks for the authenticated user + + **Fine-grained access tokens for "List tasks"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/list-tasks + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#list-tasks + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: per_page + in: query + schema: + type: integer + default: 30 + minimum: 1 + maximum: 100 + description: The number of results per page (max 100). + - name: page + in: query + schema: + type: integer + default: 1 + minimum: 1 + description: The page number of the results to fetch. + - name: sort + in: query + schema: + type: string + default: updated_at + enum: + - updated_at + - created_at + description: The field to sort results by. Can be `updated_at` or `created_at`. + - name: direction + in: query + schema: + type: string + default: desc + enum: + - asc + - desc + description: The direction to sort results. Can be `asc` or `desc`. + - name: state + in: query + schema: + type: string + description: 'Comma-separated list of task states to filter by. Can be any + combination of: `queued`, `in_progress`, `completed`, `failed`, `idle`, + `waiting_for_user`, `timed_out`, `cancelled`.' + - name: is_archived + in: query + schema: + type: boolean + default: false + description: Filter by archived status. When `true`, returns only archived + tasks. When `false` or omitted, returns only non-archived tasks. Defaults + to `false`. + - name: since + in: query + schema: + type: string + format: date-time + description: Only show tasks updated at or after this time (ISO 8601 timestamp) + responses: + '200': + description: Tasks retrieved successfully + headers: + Link: + description: | + Pagination links. Contains rel="first" (always), + rel="next" (when more pages exist), and rel="last" (when on the final page). + schema: + type: string + example: ; rel="next", + ; rel="first" + content: + application/json: + schema: + type: object + required: + - tasks + properties: + tasks: + type: array + items: + type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its + most recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: + `pull`, `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null + if not archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + description: List of tasks + total_active_count: + type: integer + format: int32 + description: Total count of active (non-archived) tasks + total_archived_count: + type: integer + format: int32 + description: Total count of archived tasks + examples: + default: + value: + tasks: + - id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + '400': + description: Bad request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + "/agents/tasks/{task_id}": + get: + summary: Get a task by ID + description: | + > [!NOTE] + > This endpoint is in public preview and is subject to change. + + Returns a task by ID with its associated sessions + + **Fine-grained access tokens for "Get a task by ID"** + + This endpoint works with the following fine-grained token types: + + * [GitHub App user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app) + * [Fine-grained personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) + + The fine-grained token must have the following permission set: + + * "Agent tasks" repository permissions (read) + + GitHub App installation access tokens are not supported for this endpoint. + tags: + - agent-tasks + operationId: agent-tasks/get-task-by-id + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/agent-tasks/agent-tasks#get-a-task-by-id + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: agent-tasks + subcategory: agent-tasks + parameters: + - name: task_id + in: path + required: true + schema: + type: string + description: The unique identifier of the task. + responses: + '200': + description: Task retrieved successfully + content: + application/json: + schema: + allOf: + - type: object + required: + - id + - state + - created_at + properties: + id: + type: string + description: Unique task identifier + url: + type: string + description: API URL for this task + html_url: + type: string + description: Web URL for this task + name: + type: string + description: Human-readable name derived from the task prompt + creator: + oneOf: + - type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: The entity who created this task + creator_type: + type: string + description: Type of the task creator + enum: + - user + - organization + user_collaborators: + type: array + items: + type: object + description: A GitHub user + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + description: User objects of collaborators on this task + deprecated: true + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this task belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + state: + type: string + description: Current state of the task, derived from its most + recent session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + session_count: + type: integer + format: int32 + description: Number of sessions in this task + artifacts: + type: array + items: + type: object + description: A resource generated by the task + required: + - provider + - type + - data + properties: + provider: + type: string + enum: + - github + description: Provider namespace + type: + type: string + enum: + - pull + - branch + description: 'Type of artifact. Available Values: `pull`, + `branch`. + + ' + data: + oneOf: + - type: object + description: A GitHub resource (pull request, issue, + etc.) + required: + - id + properties: + id: + type: integer + format: int64 + description: GitHub resource ID + global_id: + type: string + description: GraphQL global ID + - type: object + description: A Git branch reference + required: + - head_ref + - base_ref + properties: + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + description: Resource data (shape depends on type) + description: Resources created by this task (PRs, branches, + etc.) + archived_at: + type: + - string + - 'null' + format: date-time + description: Timestamp when the task was archived, null if not + archived + updated_at: + type: string + format: date-time + description: Timestamp of the most recent update + created_at: + type: string + format: date-time + description: Timestamp when the task was created + - type: object + properties: + sessions: + type: array + items: + type: object + description: Full session details within a task + required: + - id + - state + - created_at + properties: + id: + type: string + description: Session ID + name: + type: string + description: Session name + user: + description: The user who created this session + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + owner: + description: The owner of the repository + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the user + repository: + description: The repository this session belongs to + type: object + properties: + id: + type: integer + format: int64 + description: The unique identifier of the repository + task_id: + type: string + description: Task ID this session belongs to + state: + type: string + description: Current state of a session + enum: + - queued + - in_progress + - completed + - failed + - idle + - waiting_for_user + - timed_out + - cancelled + created_at: + type: string + format: date-time + description: Creation timestamp + updated_at: + type: string + format: date-time + description: Last update timestamp + completed_at: + type: string + format: date-time + description: Completion timestamp + prompt: + type: string + description: Content of the triggering event + head_ref: + type: string + description: Head branch name + base_ref: + type: string + description: Base branch name + model: + type: string + description: Model used for this session + error: + type: object + description: Error details for a failed session + properties: + message: + type: string + description: Error message + description: Sessions associated with this task + examples: + default: + value: + id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + url: https://api.github.com/agents/repos/octocat/hello-world/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + html_url: https://github.com/octocat/hello-world/copilot/tasks/a1b2c3d4-e5f6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + creator: + id: 1 + creator_type: user + owner: + id: 1 + repository: + id: 1296269 + state: completed + session_count: 1 + artifacts: + - provider: github + type: pull + data: + id: 42 + archived_at: + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + sessions: + - id: s1a2b3c4-d5e6-7890-abcd-ef1234567890 + name: Fix the login button on the homepage + user: + id: 1 + owner: + id: 1 + repository: + id: 1296269 + task_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890 + state: completed + created_at: '2025-01-01T00:00:00Z' + updated_at: '2025-01-01T01:00:00Z' + completed_at: '2025-01-01T01:00:00Z' + prompt: Fix the login button on the homepage + head_ref: copilot/fix-1 + base_ref: main + model: claude-sonnet-4.6 + '400': + description: Problems parsing request + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '401': + description: Authentication required + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '403': + description: Insufficient permissions + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '404': + description: Resource not found + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation + '422': + description: Validation Failed + content: + application/json: + schema: + type: object + description: |- + Structured error response following GitHub REST API conventions. + For 422 Unprocessable Entity the errors array contains validation + details; for other error status codes only message and + documentation_url are returned. + required: + - message + - documentation_url + properties: + message: + type: string + description: Summary message (e.g. "Validation Failed", "Not Found") + errors: + type: array + items: + type: object + description: A single validation error + required: + - code + properties: + code: + type: string + enum: + - missing + - missing_field + - invalid + - already_exists + - unprocessable + - custom + description: Machine-readable error code + message: + type: string + description: Human-readable message (populated when code + is "custom") + description: List of validation errors (present only for 422 responses) + documentation_url: + type: string + description: URL to relevant API documentation "/app": get: summary: Get the authenticated app @@ -12085,7 +14609,7 @@ paths: properties: action: type: string - discussion: &735 + discussion: &736 title: Discussion description: A Discussion in a repository. type: object @@ -12869,7 +15393,7 @@ paths: - hooray - eyes - rocket - sub_issues_summary: &655 + sub_issues_summary: &656 title: Sub-issues Summary type: object properties: @@ -12980,7 +15504,7 @@ paths: - url - created_at - updated_at - issue_dependencies_summary: &656 + issue_dependencies_summary: &657 title: Issue Dependencies Summary type: object properties: @@ -14537,7 +17061,7 @@ paths: url: type: string format: uri - user: &662 + user: &663 title: Public User description: Public User type: object @@ -19916,7 +22440,7 @@ paths: required: false schema: type: string - - &712 + - &713 name: model description: The model name to query usage for. The name is not case sensitive. in: query @@ -20062,7 +22586,7 @@ paths: parameters: - *74 - *116 - - &713 + - &714 name: month description: If specified, only return results for a single month. The value of `month` is an integer between `1` and `12`. If no year is specified the @@ -20174,7 +22698,7 @@ paths: - *116 - *118 - *117 - - &714 + - &715 name: repository description: The repository name to query for usage in the format owner/repository. in: query @@ -20182,7 +22706,7 @@ paths: schema: type: string - *119 - - &715 + - &716 name: sku description: The SKU to query for usage. in: query @@ -26557,6 +29081,10 @@ paths: 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. + Note: Artifacts are uniquely identified by the combination of their repository and digest fields. If two entries in the deployments + array resolve to the same repository and have identical digest fields but differing name and version fields, the endpoint will use + the artifact name and version from the record processed first, since a single artifact (identified by repository and digest) can + only have one name and version. tags: - orgs operationId: orgs/set-cluster-deployment-records @@ -26599,24 +29127,18 @@ paths: properties: name: type: string - description: | - The name of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name parameter must also be identical across all entries. + description: The name of the artifact. minLength: 1 maxLength: 256 digest: type: string - description: | - The hex encoded digest of the artifact. Note that if multiple deployments have identical 'digest' parameter values, - the name and version parameters must also be identical across all entries. + description: The hex encoded digest of the artifact. minLength: 71 maxLength: 71 pattern: "^sha256:[a-f0-9]{64}$" version: type: string - description: | - The artifact version. Note that if multiple deployments have identical 'digest' parameter values, - the version parameter must also be identical across all entries. + description: The artifact version. maxLength: 100 x-multi-segment: true examples: @@ -27093,12 +29615,12 @@ paths: required: - subject_digests examples: - default: &693 + default: &694 value: subject_digests: - sha256:abc123 - sha512:def456 - withPredicateType: &694 + withPredicateType: &695 value: subject_digests: - sha256:abc123 @@ -27157,7 +29679,7 @@ paths: description: The cursor to the previous page. description: Information about the current page. examples: - default: &695 + default: &696 value: attestations_subject_digests: - sha256:abc: @@ -39822,7 +42344,7 @@ paths: parameters: - *74 - *248 - - &676 + - &677 name: repo_name description: repo_name parameter in: path @@ -40901,7 +43423,7 @@ paths: - nuget - container - *74 - - &677 + - &678 name: visibility description: |- The selected visibility of the packages. This parameter is optional and only filters an existing result set. @@ -40942,7 +43464,7 @@ paths: default: *254 '403': *27 '401': *23 - '400': &679 + '400': &680 description: The value of `per_page` multiplied by `page` cannot be greater than 10000. x-github: @@ -42168,6 +44690,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp type: string url: description: The URL of the private registry. @@ -42238,6 +44761,15 @@ paths: api_host: description: The Cloudsmith API host. type: string + workload_identity_provider: + description: The full resource name of the GCP Workload + Identity Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. + If omitted, the federated token is used directly (direct + WIF). + type: string created_at: type: string format: date-time @@ -42275,7 +44807,7 @@ paths: description: |2- 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`, `oidc_jfrog`, or `oidc_cloudsmith`), the `encrypted_value` and `key_id` fields should be omitted. + For OIDC-based registries (`oidc_azure`, `oidc_aws`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. tags: @@ -42369,7 +44901,477 @@ paths: auth_type: description: The authentication type for the private registry. Defaults to `token` if not specified. Use `oidc_azure`, `oidc_aws`, `oidc_jfrog`, - or `oidc_cloudsmith` for OIDC authentication. + `oidc_cloudsmith`, or `oidc_gcp` for OIDC authentication. + type: string + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + tenant_id: + description: The tenant ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + client_id: + description: The client ID of the Azure AD application. Required + when `auth_type` is `oidc_azure`. + type: string + aws_region: + description: The AWS region. Required when `auth_type` is `oidc_aws`. + type: string + account_id: + description: The AWS account ID. Required when `auth_type` is `oidc_aws`. + type: string + role_name: + description: The AWS IAM role name. Required when `auth_type` is + `oidc_aws`. + type: string + domain: + description: The CodeArtifact domain. Required when `auth_type` + is `oidc_aws`. + type: string + domain_owner: + description: The CodeArtifact domain owner (AWS account ID). Required + when `auth_type` is `oidc_aws`. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. Required when `auth_type` + is `oidc_jfrog`. + type: string + audience: + description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. Optional for `oidc_jfrog` + auth type. + type: string + namespace: + description: The Cloudsmith organization namespace. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + service_slug: + description: The Cloudsmith service account slug. Required when + `auth_type` is `oidc_cloudsmith`. + type: string + api_host: + description: The Cloudsmith API host. Optional for `oidc_cloudsmith` + auth type. If omitted, `api.cloudsmith.io` is used by default. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. + type: string + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). + type: string + required: + - registry_type + - url + - visibility + examples: + org-private-registry-with-private-visibility: + summary: Example of a private registry configuration with private + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + replaces_base: true + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: private + org-private-registry-with-selected-visibility: + summary: Example of a private registry configuration with selected + visibility + value: + registry_type: maven_repository + url: https://maven.pkg.github.com/organization/ + username: monalisa + encrypted_value: c2VjcmV0 + key_id: '012345678912345678' + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + org-private-registry-with-oidc-azure: + summary: Example of an OIDC private registry configuration using Azure + value: + registry_type: docker_registry + url: https://myregistry.azurecr.io + auth_type: oidc_azure + visibility: all + tenant_id: 12345678-1234-1234-1234-123456789012 + client_id: abcdef01-2345-6789-abcd-ef0123456789 + org-private-registry-with-oidc-cloudsmith: + summary: Example of an OIDC private registry configuration using Cloudsmith + value: + registry_type: npm_registry + url: https://npm.cloudsmith.io/my-org/my-repo/ + auth_type: oidc_cloudsmith + visibility: all + namespace: my-org + service_slug: my-service-account + audience: https://github.com/my-org + org-private-registry-with-oidc-gcp: + summary: Example of an OIDC private registry configuration using Google + Cloud Artifact Registry + value: + registry_type: docker_registry + url: https://us-docker.pkg.dev/my-project/my-repo + auth_type: oidc_gcp + visibility: all + workload_identity_provider: projects/123456789/locations/global/workloadIdentityPools/github-pool/providers/github-provider + service_account: dependabot@my-project.iam.gserviceaccount.com + responses: + '201': + description: The organization private registry configuration + content: + application/json: + schema: + title: Organization private registry + description: Private registry configuration for an organization + type: object + properties: + name: + description: The name of the private registry configuration. + type: string + examples: + - MAVEN_REPOSITORY_SECRET + registry_type: + description: The 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 + auth_type: + description: The authentication type for the private registry. + enum: + - token + - username_password + - oidc_azure + - oidc_aws + - oidc_jfrog + - oidc_cloudsmith + - oidc_gcp + type: string + url: + description: The URL of the private registry. + type: string + format: uri + username: + description: The username to use when authenticating with the + private registry. + type: string + examples: + - monalisa + replaces_base: + 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. + type: boolean + default: false + visibility: + 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. + enum: + - all + - private + - selected + type: string + selected_repository_ids: + type: array + description: An array of repository IDs that can access the organization + private registry when `visibility` is set to `selected`. + items: + type: integer + tenant_id: + description: The tenant ID of the Azure AD application. + type: string + client_id: + description: The client ID of the Azure AD application. + type: string + aws_region: + description: The AWS region. + type: string + account_id: + description: The AWS account ID. + type: string + role_name: + description: The AWS IAM role name. + type: string + domain: + description: The CodeArtifact domain. + type: string + domain_owner: + description: The CodeArtifact domain owner. + type: string + jfrog_oidc_provider_name: + description: The JFrog OIDC provider name. + type: string + audience: + description: The OIDC audience. + type: string + identity_mapping_name: + description: The JFrog identity mapping name. + type: string + namespace: + description: The Cloudsmith organization namespace. + type: string + service_slug: + description: The Cloudsmith service account slug. + type: string + api_host: + description: The Cloudsmith API host. + type: string + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + type: string + service_account: + description: The GCP service account email to impersonate. If + omitted, the federated token is used directly (direct WIF). + type: string + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + required: + - name + - registry_type + - visibility + - created_at + - updated_at + examples: + org-private-registry-with-selected-visibility: &268 + value: + name: MAVEN_REPOSITORY_SECRET + registry_type: maven_repository + username: monalisa + visibility: private + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + org-private-registry-with-private-visibility: + value: + name: MAVEN_REPOSITORY_SECRET + registry_type: maven_repository + username: monalisa + visibility: selected + selected_repository_ids: + - 1296269 + - 1296280 + created_at: '2019-08-10T14:59:22Z' + updated_at: '2020-01-10T14:59:22Z' + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/public-key": + get: + summary: Get private registries public key for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-public-key + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization + parameters: + - *74 + responses: + '200': + description: Response + content: + application/json: + schema: + type: object + required: + - key_id + - key + properties: + key_id: + description: The identifier for the key. + type: string + examples: + - '012345678912345678' + key: + description: The Base64 encoded public key. + type: string + examples: + - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + examples: + default: + value: + key_id: '012345678912345678' + key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 + headers: + Link: *66 + '404': *6 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + "/orgs/{org}/private-registries/{secret_name}": + get: + summary: Get a private registry for an organization + description: |2- + + 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. + tags: + - private-registries + operationId: private-registries/get-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization + parameters: + - *74 + - *161 + responses: + '200': + description: The specified private registry configuration for the organization + content: + application/json: + schema: *267 + examples: + default: *268 + '404': *6 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: private-registries + subcategory: organization-configurations + patch: + summary: Update a private registry for an organization + description: |2- + + 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`, `oidc_jfrog`, `oidc_cloudsmith`, or `oidc_gcp`), 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. + tags: + - private-registries + operationId: private-registries/update-org-private-registry + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization + parameters: + - *74 + - *161 + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + registry_type: + description: The registry type. + type: string + 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 + url: + description: The URL of the private registry. + type: string + format: uri + username: + 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. + type: + - string + - 'null' + replaces_base: + 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. + type: boolean + default: false + encrypted_value: + 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. + type: string + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" + key_id: + description: The ID of the key you used to encrypt the secret. + type: string + visibility: + 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. + type: string + enum: + - all + - private + - selected + selected_repository_ids: + 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`. + type: array + items: + type: integer + auth_type: + 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. type: string enum: - token @@ -42378,6 +45380,7 @@ paths: - oidc_aws - oidc_jfrog - oidc_cloudsmith + - oidc_gcp tenant_id: description: The tenant ID of the Azure AD application. Required when `auth_type` is `oidc_azure`. @@ -42410,7 +45413,7 @@ paths: type: string audience: description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. + and `oidc_gcp`, and required for `oidc_cloudsmith` auth types. type: string identity_mapping_name: description: The JFrog identity mapping name. Optional for `oidc_jfrog` @@ -42428,445 +45431,15 @@ paths: description: The Cloudsmith API host. Optional for `oidc_cloudsmith` auth type. If omitted, `api.cloudsmith.io` is used by default. type: string - required: - - registry_type - - url - - visibility - examples: - org-private-registry-with-private-visibility: - summary: Example of a private registry configuration with private - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - replaces_base: true - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: private - org-private-registry-with-selected-visibility: - summary: Example of a private registry configuration with selected - visibility - value: - registry_type: maven_repository - url: https://maven.pkg.github.com/organization/ - username: monalisa - encrypted_value: c2VjcmV0 - key_id: '012345678912345678' - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - org-private-registry-with-oidc-azure: - summary: Example of an OIDC private registry configuration using Azure - value: - registry_type: docker_registry - url: https://myregistry.azurecr.io - auth_type: oidc_azure - visibility: all - tenant_id: 12345678-1234-1234-1234-123456789012 - client_id: abcdef01-2345-6789-abcd-ef0123456789 - org-private-registry-with-oidc-cloudsmith: - summary: Example of an OIDC private registry configuration using Cloudsmith - value: - registry_type: npm_registry - url: https://npm.cloudsmith.io/my-org/my-repo/ - auth_type: oidc_cloudsmith - visibility: all - namespace: my-org - service_slug: my-service-account - audience: https://github.com/my-org - responses: - '201': - description: The organization private registry configuration - content: - application/json: - schema: - title: Organization private registry - description: Private registry configuration for an organization - type: object - properties: - name: - description: The name of the private registry configuration. - type: string - examples: - - MAVEN_REPOSITORY_SECRET - registry_type: - description: The 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 - auth_type: - description: The authentication type for the private registry. - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - type: string - url: - description: The URL of the private registry. - type: string - format: uri - username: - description: The username to use when authenticating with the - private registry. - type: string - examples: - - monalisa - replaces_base: - 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. - type: boolean - default: false - visibility: - 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. - enum: - - all - - private - - selected - type: string - selected_repository_ids: - type: array - description: An array of repository IDs that can access the organization - private registry when `visibility` is set to `selected`. - items: - type: integer - tenant_id: - description: The tenant ID of the Azure AD application. - type: string - client_id: - description: The client ID of the Azure AD application. - type: string - aws_region: - description: The AWS region. - type: string - account_id: - description: The AWS account ID. - type: string - role_name: - description: The AWS IAM role name. - type: string - domain: - description: The CodeArtifact domain. - type: string - domain_owner: - description: The CodeArtifact domain owner. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. - type: string - audience: - description: The OIDC audience. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. - type: string - namespace: - description: The Cloudsmith organization namespace. - type: string - service_slug: - description: The Cloudsmith service account slug. - type: string - api_host: - description: The Cloudsmith API host. - type: string - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - required: - - name - - registry_type - - visibility - - created_at - - updated_at - examples: - org-private-registry-with-selected-visibility: &268 - value: - name: MAVEN_REPOSITORY_SECRET - registry_type: maven_repository - username: monalisa - visibility: private - created_at: '2019-08-10T14:59:22Z' - updated_at: '2020-01-10T14:59:22Z' - org-private-registry-with-private-visibility: - value: - name: MAVEN_REPOSITORY_SECRET - registry_type: maven_repository - username: monalisa - visibility: selected - selected_repository_ids: - - 1296269 - - 1296280 - created_at: '2019-08-10T14:59:22Z' - updated_at: '2020-01-10T14:59:22Z' - '404': *6 - '422': *15 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/public-key": - get: - summary: Get private registries public key for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-public-key - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-private-registries-public-key-for-an-organization - parameters: - - *74 - responses: - '200': - description: Response - content: - application/json: - schema: - type: object - required: - - key_id - - key - properties: - key_id: - description: The identifier for the key. - type: string - examples: - - '012345678912345678' - key: - description: The Base64 encoded public key. - type: string - examples: - - 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - examples: - default: - value: - key_id: '012345678912345678' - key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 - headers: - Link: *66 - '404': *6 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - "/orgs/{org}/private-registries/{secret_name}": - get: - summary: Get a private registry for an organization - description: |2- - - 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. - tags: - - private-registries - operationId: private-registries/get-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#get-a-private-registry-for-an-organization - parameters: - - *74 - - *161 - responses: - '200': - description: The specified private registry configuration for the organization - content: - application/json: - schema: *267 - examples: - default: *268 - '404': *6 - x-github: - githubCloudOnly: false - enabledForGitHubApps: true - category: private-registries - subcategory: organization-configurations - patch: - summary: Update a private registry for an organization - description: |2- - - 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`, `oidc_jfrog`, or `oidc_cloudsmith`), 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. - tags: - - private-registries - operationId: private-registries/update-org-private-registry - externalDocs: - description: API method documentation - url: https://docs.github.com/rest/private-registries/organization-configurations#update-a-private-registry-for-an-organization - parameters: - - *74 - - *161 - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - registry_type: - description: The registry type. + workload_identity_provider: + description: The full resource name of the GCP Workload Identity + Provider (e.g. `projects//locations/global/workloadIdentityPools//providers/`). + Required when `auth_type` is `oidc_gcp`. type: string - 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 - url: - description: The URL of the private registry. - type: string - format: uri - username: - 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. - type: - - string - - 'null' - replaces_base: - 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. - type: boolean - default: false - encrypted_value: - 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. - type: string - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$" - key_id: - description: The ID of the key you used to encrypt the secret. - type: string - visibility: - 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. - type: string - enum: - - all - - private - - selected - selected_repository_ids: - 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`. - type: array - items: - type: integer - auth_type: - 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. - type: string - enum: - - token - - username_password - - oidc_azure - - oidc_aws - - oidc_jfrog - - oidc_cloudsmith - tenant_id: - description: The tenant ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - client_id: - description: The client ID of the Azure AD application. Required - when `auth_type` is `oidc_azure`. - type: string - aws_region: - description: The AWS region. Required when `auth_type` is `oidc_aws`. - type: string - account_id: - description: The AWS account ID. Required when `auth_type` is `oidc_aws`. - type: string - role_name: - description: The AWS IAM role name. Required when `auth_type` is - `oidc_aws`. - type: string - domain: - description: The CodeArtifact domain. Required when `auth_type` - is `oidc_aws`. - type: string - domain_owner: - description: The CodeArtifact domain owner (AWS account ID). Required - when `auth_type` is `oidc_aws`. - type: string - jfrog_oidc_provider_name: - description: The JFrog OIDC provider name. Required when `auth_type` - is `oidc_jfrog`. - type: string - audience: - description: The OIDC audience. Optional for `oidc_aws`, `oidc_jfrog`, - and required for `oidc_cloudsmith` auth types. - type: string - identity_mapping_name: - description: The JFrog identity mapping name. Optional for `oidc_jfrog` - auth type. - type: string - namespace: - description: The Cloudsmith organization namespace. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - service_slug: - description: The Cloudsmith service account slug. Required when - `auth_type` is `oidc_cloudsmith`. - type: string - api_host: - description: The Cloudsmith API host. Optional for `oidc_cloudsmith` - auth type. If omitted, `api.cloudsmith.io` is used by default. + service_account: + description: The GCP service account email to impersonate. Optional + for `oidc_gcp` auth type. If omitted, the federated token is used + directly (direct WIF). type: string examples: secret-based-update: @@ -43022,7 +45595,7 @@ paths: latest_status_update: anyOf: - type: 'null' - - &763 + - &764 title: Projects v2 Status Update description: An status update belonging to a project type: object @@ -43992,7 +46565,7 @@ paths: - updated_at - project_url examples: - default: &699 + default: &700 value: - id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -44169,7 +46742,7 @@ paths: description: The options available for single select fields. At least one option must be provided when creating a single select field. - items: &700 + items: &701 type: object properties: name: @@ -44206,7 +46779,7 @@ paths: description: The field's data type. enum: - iteration - iteration_configuration: &701 + iteration_configuration: &702 type: object description: The configuration for iteration fields. properties: @@ -44256,7 +46829,7 @@ paths: value: name: Due date data_type: date - single_select_field: &702 + single_select_field: &703 summary: Create a single select field value: name: Priority @@ -44283,7 +46856,7 @@ paths: description: raw: High priority items html: High priority items - iteration_field: &703 + iteration_field: &704 summary: Create an iteration field value: name: Sprint @@ -44309,7 +46882,7 @@ paths: application/json: schema: *274 examples: - text_field: &704 + text_field: &705 value: id: 24680 node_id: PVTF_lADOABCD2468024680 @@ -44318,7 +46891,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-05-15T08:00:00Z' updated_at: '2022-05-15T08:00:00Z' - number_field: &705 + number_field: &706 value: id: 13579 node_id: PVTF_lADOABCD1357913579 @@ -44327,7 +46900,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-06-01T14:30:00Z' updated_at: '2022-06-01T14:30:00Z' - date_field: &706 + date_field: &707 value: id: 98765 node_id: PVTF_lADOABCD9876598765 @@ -44336,7 +46909,7 @@ paths: project_url: https://api.github.com/projects/67890 created_at: '2022-06-10T09:15:00Z' updated_at: '2022-06-10T09:15:00Z' - single_select_field: &707 + single_select_field: &708 value: id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -44370,7 +46943,7 @@ paths: raw: High priority items created_at: '2022-04-28T12:00:00Z' updated_at: '2022-04-28T12:00:00Z' - iteration_field: &708 + iteration_field: &709 value: id: 11223 node_id: PVTF_lADOABCD1122311223 @@ -44416,7 +46989,7 @@ paths: url: https://docs.github.com/rest/projects/fields#get-project-field-for-organization parameters: - *271 - - &709 + - &710 name: field_id description: The unique identifier of the field. in: path @@ -44431,7 +47004,7 @@ paths: application/json: schema: *274 examples: - default: &710 + default: &711 value: id: 12345 node_id: PVTF_lADOABCD1234567890 @@ -45642,7 +48215,7 @@ paths: description: Response for creating a view in an organization-owned project. content: application/json: - schema: &690 + schema: &691 title: Projects v2 View description: A view inside a projects v2 project type: object @@ -45825,7 +48398,7 @@ paths: parameters: - *271 - *74 - - &711 + - &712 name: view_number description: The number that identifies the project view. in: path @@ -49980,6 +52553,17 @@ paths: schema: type: boolean default: false + - &622 + name: is_bypassed + in: query + description: A boolean value (`true` or `false`) indicating whether to filter + alerts by their push protection bypass status. When set to `true`, only + alerts that were created because a push protection rule was bypassed will + be returned. When set to `false`, only alerts that were not caused by a + push protection bypass will be returned. + required: false + schema: + type: boolean responses: '200': description: Response @@ -50003,14 +52587,14 @@ paths: format: uri description: The REST API URL of the code locations for this alert. - state: &622 + state: &623 description: Sets the state of the secret scanning alert. You must provide `resolution` when you set the state to `resolved`. type: string enum: - open - resolved - resolution: &623 + resolution: &624 type: - string - 'null' @@ -50129,14 +52713,14 @@ paths: first_location_detected: anyOf: - type: 'null' - - &624 + - &625 description: 'Details on the location where the token was initially detected. This can be a commit, wiki commit, issue, discussion, pull request. ' oneOf: - - &626 + - &627 description: Represents a 'commit' secret scanning location type. This location type shows that a secret was detected inside a commit to a repository. @@ -50200,7 +52784,7 @@ paths: - blob_url - commit_sha - commit_url - - &627 + - &628 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. @@ -50261,7 +52845,7 @@ paths: - page_url - commit_sha - commit_url - - &628 + - &629 description: Represents an 'issue_title' secret scanning location type. This location type shows that a secret was detected in the title of an issue. @@ -50283,7 +52867,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1 required: - issue_title_url - - &629 + - &630 description: Represents an 'issue_body' secret scanning location type. This location type shows that a secret was detected in the body of an issue. @@ -50305,7 +52889,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1 required: - issue_body_url - - &630 + - &631 description: Represents an 'issue_comment' secret scanning location type. This location type shows that a secret was detected in a comment on an issue. @@ -50327,7 +52911,7 @@ paths: - https://github.com/octocat/Hello-World/issues/1#issuecomment-1081119451 required: - issue_comment_url - - &631 + - &632 description: Represents a 'discussion_title' secret scanning location type. This location type shows that a secret was detected in the title of a discussion. @@ -50342,7 +52926,7 @@ paths: - https://github.com/community/community/discussions/39082 required: - discussion_title_url - - &632 + - &633 description: Represents a 'discussion_body' secret scanning location type. This location type shows that a secret was detected in the body of a discussion. @@ -50357,7 +52941,7 @@ paths: - https://github.com/community/community/discussions/39082#discussion-4566270 required: - discussion_body_url - - &633 + - &634 description: Represents a 'discussion_comment' secret scanning location type. This location type shows that a secret was detected in a comment on a discussion. @@ -50372,7 +52956,7 @@ paths: - https://github.com/community/community/discussions/39082#discussioncomment-4158232 required: - discussion_comment_url - - &634 + - &635 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. @@ -50394,7 +52978,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846 required: - pull_request_title_url - - &635 + - &636 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. @@ -50416,7 +53000,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846 required: - pull_request_body_url - - &636 + - &637 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. @@ -50438,7 +53022,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846#issuecomment-1081119451 required: - pull_request_comment_url - - &637 + - &638 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. @@ -50460,7 +53044,7 @@ paths: - https://github.com/octocat/Hello-World/pull/2846#pullrequestreview-80 required: - pull_request_review_url - - &638 + - &639 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 @@ -50981,7 +53565,7 @@ paths: application/json: schema: type: array - items: &642 + items: &643 description: A repository security advisory. type: object properties: @@ -51332,7 +53916,7 @@ paths: - private_fork version: '2026-03-10' examples: - default: &643 + default: &644 value: - ghsa_id: GHSA-abcd-1234-efgh cve_id: CVE-2050-00000 @@ -53418,7 +56002,7 @@ paths: - state - url examples: - response-if-user-is-a-team-maintainer: &658 + response-if-user-is-a-team-maintainer: &659 summary: Response if user is a team maintainer value: url: https://api.github.com/teams/1/memberships/octocat @@ -53483,7 +56067,7 @@ paths: application/json: schema: *330 examples: - response-if-users-membership-with-team-is-now-pending: &659 + response-if-users-membership-with-team-is-now-pending: &660 summary: Response if user's membership with team is now pending value: url: https://api.github.com/teams/1/memberships/octocat @@ -53597,7 +56181,7 @@ paths: description: Alternative response with repository permissions content: application/json: - schema: &660 + schema: &661 title: Team Repository description: A team's access to a repository. type: object @@ -54411,7 +56995,7 @@ paths: type: array items: *191 examples: - response-if-child-teams-exist: &661 + response-if-child-teams-exist: &662 value: - id: 2 node_id: MDQ6VGVhbTI= @@ -56291,6 +58875,245 @@ paths: enabledForGitHubApps: true category: actions subcategory: cache + "/repos/{owner}/{repo}/actions/concurrency_groups": + get: + summary: List concurrency groups for a repository + description: |- + Lists the active concurrency groups for a repository. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-repository + parameters: + - *331 + - *332 + - *17 + - *46 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group List + description: A list of active concurrency groups for a repository. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - last_acquired_at + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + last_acquired_at: + type: + - string + - 'null' + format: date-time + examples: + default: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + last_acquired_at: '2026-01-15T16:14:23Z' + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + last_acquired_at: '2026-01-15T16:13:55Z' + headers: + Link: *66 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups + "/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}": + get: + summary: Get a concurrency group for a repository + description: |- + Gets a specific concurrency group for a repository, including all instances in the group's queue. + Returns 404 if the group is inactive or does not exist. + + Optionally, pass `ahead_of_run` or `ahead_of_job` to filter the results to only the items + ahead of the specified workflow run or job in the queue, plus the specified item itself + (returned as the last element). This is useful for determining what is blocking a particular + run or job. Returns 422 if the specified run or job is not in this concurrency group. + + When using `ahead_of_run`, this matches workflow-level concurrency and any reusable-workflow + leases held on behalf of that run. Job-level leases within the run are not considered to + block the run as a whole. Use `ahead_of_job` to match job-level concurrency and reusable-workflow + leases on the job's ancestor paths. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/get-concurrency-group-for-repository + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#get-a-concurrency-group-for-a-repository + parameters: + - *331 + - *332 + - name: concurrency_group_name + description: The name of the concurrency group. + in: path + required: true + schema: + type: string + - name: ahead_of_run + description: |- + Filter to items ahead of this workflow run ID in the queue, plus the run itself. + Matches workflow-level concurrency and reusable-workflow leases held on behalf of + the run. Mutually exclusive with `ahead_of_job`. + in: query + required: false + schema: + type: integer + minimum: 1 + - name: ahead_of_job + description: |- + Filter to items ahead of this job ID in the queue, plus the job itself. + Matches job-level concurrency and reusable-workflow leases on the job's + ancestor paths. Mutually exclusive with `ahead_of_run`. + in: query + required: false + schema: + type: integer + minimum: 1 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group + description: |- + A concurrency group with the workflow runs and jobs that are either currently holding + or waiting for the concurrency group lease. + type: object + required: + - group_name + - group_url + - total_count + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: API URL for this concurrency group. + total_count: + type: integer + group_members: + type: array + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + job_id: + type: integer + description: The ID of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_name: + type: string + description: The display name of the job, when the item + represents a job-level or reusable-workflow-level lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending + examples: + default: + value: + group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + total_count: 3 + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + - run_id: 30433643 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433643 + status: pending + - run_id: 30433644 + run_name: Deploy hotfix + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644 + job_id: 798245260 + job_name: deploy + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260 + status: pending + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/jobs/{job_id}": get: summary: Get a job for a workflow run @@ -59344,6 +62167,198 @@ paths: enabledForGitHubApps: true category: actions subcategory: workflow-runs + "/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups": + get: + summary: List concurrency groups for a workflow run + description: |- + Lists all concurrency groups associated with a workflow run or its jobs. + + The set of groups is derived from the run's configuration, so a group is + included even when the run no longer has any items currently holding or + waiting in it. In that case the `group_members` array will be empty. + `total_count` reflects the number of groups the run participates in by + configuration, not the number with active items. + + This differs from `GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}`, + which returns 404 when a group has no active items. That endpoint reports + the live state of a group repo-wide, while this endpoint reports the + groups associated with a specific run by configuration. + + Results are sorted by group name and support cursor-based pagination via + `before` and `after`. The `after` cursor paginates forward only and does + not emit a `rel="prev"` Link; use `before` to page backward from a + forward page's `next` cursor. + + OAuth app tokens and personal access tokens (classic) need the `repo` scope to use this endpoint with a private repository. + tags: + - actions + operationId: actions/list-concurrency-groups-for-workflow-run + externalDocs: + description: API method documentation + url: https://docs.github.com/rest/actions/concurrency-groups#list-concurrency-groups-for-a-workflow-run + parameters: + - *331 + - *332 + - *369 + - *17 + - *45 + - *46 + responses: + '200': + description: Response + content: + application/json: + schema: + title: Concurrency Group Run List + description: A list of concurrency groups associated with a workflow + run. + type: object + required: + - total_count + - concurrency_groups + properties: + total_count: + type: integer + description: |- + The total number of concurrency groups this workflow run participates in, + derived from the run's configuration. This count is not filtered by + whether the run currently holds or is waiting in each group, so it can + include groups whose `group_members` array is empty (for example, when + the run has already released its lease in that group). + concurrency_groups: + type: array + items: + type: object + required: + - group_name + - group_url + - group_members + properties: + group_name: + type: string + description: The name of the concurrency group. + group_url: + type: string + format: uri + description: |- + API URL for this concurrency group. May return 404 if the group + has no active items at the time it is requested, since the + get-by-name endpoint reports the live repo-wide state of a group + while this endpoint lists groups associated with a run by + configuration. + group_members: + type: array + description: |- + Items belonging to this workflow run that are either currently holding or + waiting for the concurrency group lease. May be empty if the run no + longer has any active or queued items in this group. + items: + type: object + required: + - run_id + - run_name + - run_url + - run_html_url + - status + - position + - position_url + properties: + run_id: + type: integer + description: The ID of the workflow run. + run_name: + type: string + description: The name of the workflow run. + run_url: + type: + - string + - 'null' + format: uri + description: API URL for the workflow run. + run_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the workflow run. + position: + type: integer + description: Queue position. 0 means the item holds + the concurrency lease (in_progress), 1 or higher + means queued (pending). + position_url: + type: string + format: uri + description: API URL to get items ahead of this item + in the concurrency group. + job_id: + type: + - integer + - 'null' + description: The ID of the job, when the item represents + a job-level or reusable-workflow-level lease. + job_name: + type: + - string + - 'null' + description: The display name of the job, when the + item represents a job-level or reusable-workflow-level + lease. + job_url: + type: + - string + - 'null' + format: uri + description: API URL for the job. + job_html_url: + type: + - string + - 'null' + format: uri + description: Web URL for the job. + status: + type: string + enum: + - in_progress + - pending + examples: + default: + value: + total_count: 2 + concurrency_groups: + - group_name: deploy-prod + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: in_progress + position: 0 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642 + - group_name: ci-build + group_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build + group_members: + - run_id: 30433642 + run_name: Deploy to production + run_url: https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642 + run_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642 + status: pending + position: 2 + position_url: https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260 + job_id: 798245260 + job_name: build + job_url: https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260 + job_html_url: https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260 + headers: + Link: *66 + '404': *6 + '422': *15 + x-github: + githubCloudOnly: false + enabledForGitHubApps: true + category: actions + subcategory: concurrency-groups "/repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule": post: summary: Review custom deployment protection rules for a workflow run @@ -65638,7 +68653,7 @@ paths: check. type: array items: *85 - deployment: &724 + deployment: &725 title: Deployment description: A deployment created as the result of an Actions check run from a workflow that references an environment @@ -70910,7 +73925,7 @@ paths: type: array items: *452 examples: - default: &667 + default: &668 value: total_count: 2 machines: @@ -74087,7 +77102,7 @@ paths: application/json: schema: type: array - items: &647 + items: &648 title: Status description: The status of a commit. type: object @@ -75743,7 +78758,7 @@ paths: items: type: object properties: - placeholder_id: &639 + placeholder_id: &640 description: The ID of the push protection bypass placeholder. This value is returned on any push protected routes. @@ -81744,7 +84759,7 @@ paths: format: uri examples: - https://api.github.com/repos/octocat/Hello-World/hooks/1/deliveries - last_response: &755 + last_response: &756 title: Hook Response type: object properties: @@ -82813,7 +85828,7 @@ paths: parameters: - *331 - *332 - - &688 + - &689 name: since description: A user ID. Only return users with an ID greater than this ID. in: query @@ -83247,7 +86262,7 @@ paths: type: array items: *528 examples: - default: &681 + default: &682 value: - id: 1 repository: @@ -97804,6 +100819,7 @@ paths: - *619 - *620 - *621 + - *622 responses: '200': description: Response @@ -97811,7 +100827,7 @@ paths: application/json: schema: type: array - items: &625 + items: &626 type: object properties: number: *171 @@ -97827,8 +100843,8 @@ paths: format: uri description: The REST API URL of the code locations for this alert. - state: *622 - resolution: *623 + state: *623 + resolution: *624 resolved_at: type: - string @@ -97934,7 +100950,7 @@ paths: first_location_detected: anyOf: - type: 'null' - - *624 + - *625 has_more_locations: type: boolean description: A boolean value representing whether or not the @@ -98102,7 +101118,7 @@ paths: description: Response content: application/json: - schema: *625 + schema: *626 examples: default: value: @@ -98166,8 +101182,8 @@ paths: schema: type: object properties: - state: *622 - resolution: *623 + state: *623 + resolution: *624 resolution_comment: description: An optional comment when closing or reopening an alert. Cannot be updated or deleted. @@ -98215,7 +101231,7 @@ paths: description: Response content: application/json: - schema: *625 + schema: *626 examples: default: value: @@ -98324,7 +101340,7 @@ paths: schema: type: array description: List of locations where the secret was detected - items: &775 + items: &776 type: object properties: type: @@ -98351,7 +101367,6 @@ paths: - commit details: oneOf: - - *626 - *627 - *628 - *629 @@ -98364,6 +101379,7 @@ paths: - *636 - *637 - *638 + - *639 examples: default: value: @@ -98458,14 +101474,14 @@ paths: schema: type: object properties: - reason: &640 + reason: &641 description: The reason for bypassing push protection. type: string enum: - false_positive - used_in_tests - will_fix_later - placeholder_id: *639 + placeholder_id: *640 required: - reason - placeholder_id @@ -98482,7 +101498,7 @@ paths: schema: type: object properties: - reason: *640 + reason: *641 expire_at: type: - string @@ -98545,7 +101561,7 @@ paths: properties: incremental_scans: type: array - items: &641 + items: &642 description: Information on a single scan performed by secret scanning on the repository type: object @@ -98573,15 +101589,15 @@ paths: the scan is pending pattern_update_scans: type: array - items: *641 + items: *642 backfill_scans: type: array - items: *641 + items: *642 custom_pattern_backfill_scans: type: array items: allOf: - - *641 + - *642 - type: object properties: pattern_name: @@ -98594,7 +101610,7 @@ paths: one of "repository", "organization", or "enterprise" generic_secrets_backfill_scans: type: array - items: *641 + items: *642 examples: default: value: @@ -98704,9 +101720,9 @@ paths: application/json: schema: type: array - items: *642 + items: *643 examples: - default: *643 + default: *644 '400': *14 '404': *6 x-github: @@ -98900,9 +101916,9 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: &645 + default: &646 value: ghsa_id: GHSA-abcd-1234-efgh cve_id: CVE-2050-00000 @@ -99255,7 +102271,7 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: default: value: @@ -99410,15 +102426,15 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '200': description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: *645 + default: *646 '403': *27 '404': *6 x-github: @@ -99444,7 +102460,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 requestBody: required: true content: @@ -99615,10 +102631,10 @@ paths: description: Response content: application/json: - schema: *642 + schema: *643 examples: - default: *645 - add_credit: *645 + default: *646 + add_credit: *646 '403': *27 '404': *6 '422': @@ -99658,7 +102674,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '202': *37 '400': *14 @@ -99687,7 +102703,7 @@ paths: parameters: - *331 - *332 - - *644 + - *645 responses: '202': description: Response @@ -99828,7 +102844,7 @@ paths: application/json: schema: type: array - items: &646 + items: &647 title: Code Frequency Stat description: Code Frequency Stat type: array @@ -100201,7 +103217,7 @@ paths: application/json: schema: type: array - items: *646 + items: *647 examples: default: value: @@ -100291,7 +103307,7 @@ paths: description: Response content: application/json: - schema: *647 + schema: *648 examples: default: value: @@ -100385,7 +103401,7 @@ paths: description: if you subscribe to the repository content: application/json: - schema: &648 + schema: &649 title: Repository Invitation description: Repository invitations let you manage who you collaborate with. @@ -100485,7 +103501,7 @@ paths: description: Response content: application/json: - schema: *648 + schema: *649 examples: default: value: @@ -100695,7 +103711,7 @@ paths: description: Response content: application/json: - schema: &649 + schema: &650 title: Topic description: A topic aggregates entities that are related to a subject. type: object @@ -100707,7 +103723,7 @@ paths: required: - names examples: - default: &650 + default: &651 value: names: - octocat @@ -100762,9 +103778,9 @@ paths: description: Response content: application/json: - schema: *649 + schema: *650 examples: - default: *650 + default: *651 '404': *6 '422': *7 x-github: @@ -100787,7 +103803,7 @@ paths: parameters: - *331 - *332 - - &651 + - &652 name: per description: The time frame to display results for. in: query @@ -100818,7 +103834,7 @@ paths: - 128 clones: type: array - items: &652 + items: &653 title: Traffic type: object properties: @@ -101066,7 +104082,7 @@ paths: parameters: - *331 - *332 - - *651 + - *652 responses: '200': description: Response @@ -101087,7 +104103,7 @@ paths: - 3782 views: type: array - items: *652 + items: *653 required: - uniques - count @@ -101866,7 +104882,7 @@ paths: examples: - 73..77 - 77..78 - text_matches: &653 + text_matches: &654 title: Search Result Text Matches type: array items: @@ -102029,7 +105045,7 @@ paths: enum: - author-date - committer-date - - &654 + - &655 name: order description: Determines whether the first search result returned is the highest number of matches (`desc`) or lowest number of matches (`asc`). This parameter @@ -102149,7 +105165,7 @@ paths: type: number node_id: type: string - text_matches: *653 + text_matches: *654 required: - sha - node_id @@ -102341,7 +105357,7 @@ paths: - interactions - created - updated - - *654 + - *655 - *17 - *19 - name: advanced_search @@ -102455,8 +105471,8 @@ paths: type: - string - 'null' - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -102487,7 +105503,7 @@ paths: - string - 'null' format: date-time - text_matches: *653 + text_matches: *654 pull_request: type: object properties: @@ -102787,7 +105803,7 @@ paths: enum: - created - updated - - *654 + - *655 - *17 - *19 responses: @@ -102832,7 +105848,7 @@ paths: - 'null' score: type: number - text_matches: *653 + text_matches: *654 required: - id - node_id @@ -102917,7 +105933,7 @@ paths: - forks - help-wanted-issues - updated - - *654 + - *655 - *17 - *19 responses: @@ -103163,7 +106179,7 @@ paths: - admin - pull - push - text_matches: *653 + text_matches: *654 temp_clone_token: type: string allow_merge_commit: @@ -103471,7 +106487,7 @@ paths: - string - 'null' format: uri - text_matches: *653 + text_matches: *654 related: type: - array @@ -103664,7 +106680,7 @@ paths: - followers - repositories - joined - - *654 + - *655 - *17 - *19 responses: @@ -103774,7 +106790,7 @@ paths: type: - boolean - 'null' - text_matches: *653 + text_matches: *654 blog: type: - string @@ -103856,7 +106872,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#get-a-team-legacy parameters: - - &657 + - &658 name: team_id description: The unique identifier of the team. in: path @@ -103897,7 +106913,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#update-a-team-legacy parameters: - - *657 + - *658 requestBody: required: true content: @@ -103998,7 +107014,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#delete-a-team-legacy parameters: - - *657 + - *658 responses: '204': description: Response @@ -104027,7 +107043,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#list-pending-team-invitations-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -104065,7 +107081,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#list-team-members-legacy parameters: - - *657 + - *658 - name: role description: Filters members returned by their role in the team. in: query @@ -104116,7 +107132,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#get-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -104153,7 +107169,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#add-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -104193,7 +107209,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#remove-team-member-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -104230,7 +107246,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#get-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 responses: '200': @@ -104239,7 +107255,7 @@ paths: application/json: schema: *330 examples: - response-if-user-is-a-team-maintainer: *658 + response-if-user-is-a-team-maintainer: *659 '404': *6 x-github: githubCloudOnly: false @@ -104272,7 +107288,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#add-or-update-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 requestBody: required: false @@ -104300,7 +107316,7 @@ paths: application/json: schema: *330 examples: - response-if-users-membership-with-team-is-now-pending: *659 + response-if-users-membership-with-team-is-now-pending: *660 '403': description: Forbidden if team synchronization is set up '422': @@ -104334,7 +107350,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/members#remove-team-membership-for-a-user-legacy parameters: - - *657 + - *658 - *70 responses: '204': @@ -104362,7 +107378,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#list-team-repositories-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -104404,7 +107420,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#check-team-permissions-for-a-repository-legacy parameters: - - *657 + - *658 - *331 - *332 responses: @@ -104412,7 +107428,7 @@ paths: description: Alternative response with extra repository information content: application/json: - schema: *660 + schema: *661 examples: alternative-response-with-extra-repository-information: value: @@ -104569,7 +107585,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#add-or-update-team-repository-permissions-legacy parameters: - - *657 + - *658 - *331 - *332 requestBody: @@ -104621,7 +107637,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#remove-a-repository-from-a-team-legacy parameters: - - *657 + - *658 - *331 - *332 responses: @@ -104648,7 +107664,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/teams/teams#list-child-teams-legacy parameters: - - *657 + - *658 - *17 - *19 responses: @@ -104660,7 +107676,7 @@ paths: type: array items: *191 examples: - response-if-child-teams-exist: *661 + response-if-child-teams-exist: *662 headers: Link: *66 '404': *6 @@ -104693,7 +107709,7 @@ paths: application/json: schema: oneOf: - - &663 + - &664 title: Private User description: Private User type: object @@ -104943,7 +107959,7 @@ paths: - private_gists - total_private_repos - two_factor_authentication - - *662 + - *663 examples: response-with-public-and-private-profile-information: summary: Response with public and private profile information @@ -105103,7 +108119,7 @@ paths: description: Response content: application/json: - schema: *663 + schema: *664 examples: default: value: @@ -105501,7 +108517,7 @@ paths: type: integer secrets: type: array - items: &664 + items: &665 title: Codespaces Secret description: Secrets for a GitHub Codespace. type: object @@ -105621,7 +108637,7 @@ paths: description: Response content: application/json: - schema: *664 + schema: *665 examples: default: value: @@ -106034,7 +109050,7 @@ paths: description: Response content: application/json: - schema: &665 + schema: &666 type: object title: Fetches information about an export of a codespace. description: An export of a codespace. Also, latest export details @@ -106087,7 +109103,7 @@ paths: examples: - https://github.com/octocat/hello-world/tree/:branch examples: - default: &666 + default: &667 value: state: succeeded completed_at: '2022-01-01T14:59:22Z' @@ -106132,9 +109148,9 @@ paths: description: Response content: application/json: - schema: *665 + schema: *666 examples: - default: *666 + default: *667 '404': *6 x-github: githubCloudOnly: false @@ -106173,7 +109189,7 @@ paths: type: array items: *452 examples: - default: *667 + default: *668 '304': *35 '500': *53 '401': *23 @@ -107139,7 +110155,7 @@ paths: type: array items: *253 examples: - default: &678 + default: &679 value: - id: 197 name: hello_docker @@ -107240,7 +110256,7 @@ paths: application/json: schema: type: array - items: &668 + items: &669 title: Email description: Email type: object @@ -107310,9 +110326,9 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: - default: &680 + default: &681 value: - email: octocat@github.com verified: true @@ -107389,7 +110405,7 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: default: value: @@ -107647,7 +110663,7 @@ paths: application/json: schema: type: array - items: &669 + items: &670 title: GPG Key description: A unique encryption key type: object @@ -107792,7 +110808,7 @@ paths: - subkeys - revoked examples: - default: &697 + default: &698 value: - id: 3 name: Octocat's GPG Key @@ -107877,9 +110893,9 @@ paths: description: Response content: application/json: - schema: *669 + schema: *670 examples: - default: &670 + default: &671 value: id: 3 name: Octocat's GPG Key @@ -107936,7 +110952,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/gpg-keys#get-a-gpg-key-for-the-authenticated-user parameters: - - &671 + - &672 name: gpg_key_id description: The unique identifier of the GPG key. in: path @@ -107948,9 +110964,9 @@ paths: description: Response content: application/json: - schema: *669 + schema: *670 examples: - default: *670 + default: *671 '404': *6 '304': *35 '403': *27 @@ -107973,7 +110989,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/gpg-keys#delete-a-gpg-key-for-the-authenticated-user parameters: - - *671 + - *672 responses: '204': description: Response @@ -108431,7 +111447,7 @@ paths: application/json: schema: type: array - items: &672 + items: &673 title: Key description: Key type: object @@ -108534,9 +111550,9 @@ paths: description: Response content: application/json: - schema: *672 + schema: *673 examples: - default: &673 + default: &674 value: key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 id: 2 @@ -108575,9 +111591,9 @@ paths: description: Response content: application/json: - schema: *672 + schema: *673 examples: - default: *673 + default: *674 '404': *6 '304': *35 '403': *27 @@ -108633,7 +111649,7 @@ paths: application/json: schema: type: array - items: &674 + items: &675 title: User Marketplace Purchase description: User Marketplace Purchase type: object @@ -108712,7 +111728,7 @@ paths: - account - plan examples: - default: &675 + default: &676 value: - billing_cycle: monthly next_billing_date: '2017-11-11T00:00:00Z' @@ -108774,9 +111790,9 @@ paths: application/json: schema: type: array - items: *674 + items: *675 examples: - default: *675 + default: *676 headers: Link: *66 '304': *35 @@ -109794,7 +112810,7 @@ paths: url: https://docs.github.com/rest/migrations/users#unlock-a-user-repository parameters: - *248 - - *676 + - *677 responses: '204': description: Response @@ -109927,7 +112943,7 @@ paths: - docker - nuget - container - - *677 + - *678 - *19 - *17 responses: @@ -109939,8 +112955,8 @@ paths: type: array items: *253 examples: - default: *678 - '400': *679 + default: *679 + '400': *680 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -109969,7 +112985,7 @@ paths: application/json: schema: *253 examples: - default: &698 + default: &699 value: id: 40201 name: octo-name @@ -110331,9 +113347,9 @@ paths: application/json: schema: type: array - items: *668 + items: *669 examples: - default: *680 + default: *681 headers: Link: *66 '304': *35 @@ -110446,7 +113462,7 @@ paths: type: array items: *78 examples: - default: &687 + default: &688 summary: Default response value: - id: 1296269 @@ -110812,7 +113828,7 @@ paths: type: array items: *528 examples: - default: *681 + default: *682 headers: Link: *66 '304': *35 @@ -110897,7 +113913,7 @@ paths: application/json: schema: type: array - items: &682 + items: &683 title: Social account description: Social media account type: object @@ -110914,7 +113930,7 @@ paths: - provider - url examples: - default: &683 + default: &684 value: - provider: twitter url: https://twitter.com/github @@ -110977,9 +113993,9 @@ paths: application/json: schema: type: array - items: *682 + items: *683 examples: - default: *683 + default: *684 '422': *15 '304': *35 '404': *6 @@ -111067,7 +114083,7 @@ paths: application/json: schema: type: array - items: &684 + items: &685 title: SSH Signing Key description: A public SSH key used to sign Git commits type: object @@ -111087,7 +114103,7 @@ paths: - title - created_at examples: - default: &716 + default: &717 value: - id: 2 key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -111152,9 +114168,9 @@ paths: description: Response content: application/json: - schema: *684 + schema: *685 examples: - default: &685 + default: &686 value: id: 2 key: 2Sg8iYjAxxmI2LvUXpJjkYrMxURPc8r+dB7TJyvv1234 @@ -111184,7 +114200,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/ssh-signing-keys#get-an-ssh-signing-key-for-the-authenticated-user parameters: - - &686 + - &687 name: ssh_signing_key_id description: The unique identifier of the SSH signing key. in: path @@ -111196,9 +114212,9 @@ paths: description: Response content: application/json: - schema: *684 + schema: *685 examples: - default: *685 + default: *686 '404': *6 '304': *35 '403': *27 @@ -111221,7 +114237,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/ssh-signing-keys#delete-an-ssh-signing-key-for-the-authenticated-user parameters: - - *686 + - *687 responses: '204': description: Response @@ -111250,7 +114266,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-the-authenticated-user parameters: - - &717 + - &718 name: sort description: The property to sort the results by. `created` means when the repository was starred. `updated` means when the repository was last pushed @@ -111275,11 +114291,11 @@ paths: type: array items: *78 examples: - default-response: *687 + default-response: *688 application/vnd.github.v3.star+json: schema: type: array - items: &718 + items: &719 title: Starred Repository description: Starred Repository type: object @@ -111648,10 +114664,10 @@ paths: application/json: schema: oneOf: + - *664 - *663 - - *662 examples: - default-response: &691 + default-response: &692 summary: Default response value: login: octocat @@ -111686,7 +114702,7 @@ paths: following: 0 created_at: '2008-01-14T04:33:35Z' updated_at: '2008-01-14T04:33:35Z' - response-with-git-hub-plan-information: &692 + response-with-git-hub-plan-information: &693 summary: Response with GitHub plan information value: login: octocat @@ -111743,7 +114759,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/projects/drafts#create-draft-item-for-user-owned-project parameters: - - &689 + - &690 name: user_id description: The unique identifier of the user. in: path @@ -111809,7 +114825,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/users/users#list-users parameters: - - *688 + - *689 - *17 responses: '200': @@ -111844,7 +114860,7 @@ paths: description: API method documentation url: https://docs.github.com/rest/projects/views#create-a-view-for-a-user-owned-project parameters: - - *689 + - *690 - *271 requestBody: required: true @@ -111919,7 +114935,7 @@ paths: description: Response for creating a view in a user-owned project. content: application/json: - schema: *690 + schema: *691 examples: table_view: summary: Response for creating a table view @@ -111971,11 +114987,11 @@ paths: application/json: schema: oneOf: + - *664 - *663 - - *662 examples: - default-response: *691 - response-with-git-hub-plan-information: *692 + default-response: *692 + response-with-git-hub-plan-information: *693 '404': *6 x-github: githubCloudOnly: false @@ -112025,8 +115041,8 @@ paths: required: - subject_digests examples: - default: *693 - withPredicateType: *694 + default: *694 + withPredicateType: *695 responses: '200': description: Response @@ -112080,7 +115096,7 @@ paths: description: The cursor to the previous page. description: Information about the current page. examples: - default: *695 + default: *696 x-github: githubCloudOnly: false enabledForGitHubApps: true @@ -112598,7 +115614,7 @@ paths: application/json: schema: *187 examples: - default: &696 + default: &697 summary: Example response for a user copilot space value: id: 42 @@ -112699,7 +115715,7 @@ paths: application/json: schema: *187 examples: - default: *696 + default: *697 '403': *27 '404': *6 x-github: @@ -112825,7 +115841,7 @@ paths: application/json: schema: *187 examples: - default: *696 + default: *697 '403': *27 '404': *6 '422': *15 @@ -113593,7 +116609,7 @@ paths: type: array items: *253 examples: - default: *678 + default: *679 '403': *27 '401': *23 x-github: @@ -113977,9 +116993,9 @@ paths: application/json: schema: type: array - items: *669 + items: *670 examples: - default: *697 + default: *698 headers: Link: *66 x-github: @@ -114208,7 +117224,7 @@ paths: - docker - nuget - container - - *677 + - *678 - *70 - *19 - *17 @@ -114221,10 +117237,10 @@ paths: type: array items: *253 examples: - default: *678 + default: *679 '403': *27 '401': *23 - '400': *679 + '400': *680 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -114254,7 +117270,7 @@ paths: application/json: schema: *253 examples: - default: *698 + default: *699 x-github: githubCloudOnly: false enabledForGitHubApps: false @@ -114603,7 +117619,7 @@ paths: type: array items: *274 examples: - default: *699 + default: *700 headers: Link: *66 '304': *35 @@ -114663,7 +117679,7 @@ paths: description: The options available for single select fields. At least one option must be provided when creating a single select field. - items: *700 + items: *701 required: - name - data_type @@ -114679,7 +117695,7 @@ paths: description: The field's data type. enum: - iteration - iteration_configuration: *701 + iteration_configuration: *702 required: - name - data_type @@ -114701,8 +117717,8 @@ paths: value: name: Due date data_type: date - single_select_field: *702 - iteration_field: *703 + single_select_field: *703 + iteration_field: *704 responses: '201': description: Response @@ -114710,11 +117726,11 @@ paths: application/json: schema: *274 examples: - text_field: *704 - number_field: *705 - date_field: *706 - single_select_field: *707 - iteration_field: *708 + text_field: *705 + number_field: *706 + date_field: *707 + single_select_field: *708 + iteration_field: *709 '304': *35 '403': *27 '401': *23 @@ -114736,7 +117752,7 @@ paths: url: https://docs.github.com/rest/projects/fields#get-project-field-for-user parameters: - *271 - - *709 + - *710 - *70 responses: '200': @@ -114745,7 +117761,7 @@ paths: application/json: schema: *274 examples: - default: *710 + default: *711 headers: Link: *66 '304': *35 @@ -115102,7 +118118,7 @@ paths: parameters: - *271 - *70 - - *711 + - *712 - name: fields description: |- Limit results to specific fields, by their IDs. If not specified, the @@ -115377,7 +118393,7 @@ paths: - *116 - *118 - *117 - - *712 + - *713 - *119 responses: '200': @@ -115508,7 +118524,7 @@ paths: parameters: - *70 - *116 - - *713 + - *714 - *117 responses: '200': @@ -115607,9 +118623,9 @@ paths: - *116 - *118 - *117 - - *714 - - *119 - *715 + - *119 + - *716 responses: '200': description: Response when getting a billing usage summary @@ -115743,9 +118759,9 @@ paths: application/json: schema: type: array - items: *682 + items: *683 examples: - default: *683 + default: *684 headers: Link: *66 x-github: @@ -115775,9 +118791,9 @@ paths: application/json: schema: type: array - items: *684 + items: *685 examples: - default: *716 + default: *717 headers: Link: *66 x-github: @@ -115802,7 +118818,7 @@ paths: url: https://docs.github.com/rest/activity/starring#list-repositories-starred-by-a-user parameters: - *70 - - *717 + - *718 - *60 - *17 - *19 @@ -115814,11 +118830,11 @@ paths: schema: anyOf: - type: array - items: *718 + items: *719 - type: array items: *78 examples: - default-response: *687 + default-response: *688 headers: Link: *66 x-github: @@ -115978,7 +118994,7 @@ webhooks: type: string enum: - disabled - enterprise: &719 + enterprise: &720 title: Enterprise description: |- An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured @@ -116047,7 +119063,7 @@ webhooks: - created_at - updated_at - avatar_url - installation: &720 + installation: &721 title: Simple Installation description: |- The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -116068,7 +119084,7 @@ webhooks: required: - id - node_id - organization: &721 + organization: &722 title: Organization Simple description: |- A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an @@ -116141,7 +119157,7 @@ webhooks: - public_members_url - avatar_url - description - repository: &722 + repository: &723 title: Repository description: |- The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property @@ -117081,10 +120097,10 @@ webhooks: type: string enum: - enabled - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -117160,11 +120176,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: &723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: &724 title: branch protection rule 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) @@ -117387,11 +120403,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: *723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: *724 sender: *4 required: - action @@ -117579,11 +120595,11 @@ webhooks: - everyone required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - rule: *723 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + rule: *724 sender: *4 required: - action @@ -117667,7 +120683,7 @@ webhooks: type: string enum: - completed - check_run: &725 + check_run: &726 title: CheckRun description: A check performed on the code of a given code change type: object @@ -117777,7 +120793,7 @@ webhooks: - examples: - neutral - deployment: *724 + deployment: *725 details_url: type: string examples: @@ -117875,10 +120891,10 @@ webhooks: - output - app - pull_requests - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -118269,11 +121285,11 @@ webhooks: type: string enum: - created - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -118667,11 +121683,11 @@ webhooks: type: string enum: - requested_action - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 requested_action: description: The action requested by the user. type: object @@ -119074,11 +122090,11 @@ webhooks: type: string enum: - rerequested - check_run: *725 - installation: *720 - enterprise: *719 - organization: *721 - repository: *722 + check_run: *726 + installation: *721 + enterprise: *720 + organization: *722 + repository: *723 sender: *4 required: - check_run @@ -120063,10 +123079,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -120770,10 +123786,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -121471,10 +124487,10 @@ webhooks: - latest_check_runs_count - check_runs_url - head_commit - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -121795,20 +124811,20 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: &726 + commit_oid: &727 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. type: string - enterprise: *719 - installation: *720 - organization: *721 - ref: &727 + enterprise: *720 + installation: *721 + organization: *722 + ref: &728 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. type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -122216,12 +125232,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -122504,12 +125520,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -122855,12 +125871,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -123150,9 +126166,9 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 ref: description: The Git reference of the code scanning alert. When the action is `reopened_by_user` or `closed_by_user`, the event @@ -123160,7 +126176,7 @@ webhooks: type: - string - 'null' - repository: *722 + repository: *723 sender: *4 required: - action @@ -123406,12 +126422,12 @@ webhooks: - dismissed_reason - rule - tool - commit_oid: *726 - enterprise: *719 - installation: *720 - organization: *721 - ref: *727 - repository: *722 + commit_oid: *727 + enterprise: *720 + installation: *721 + organization: *722 + ref: *728 + repository: *723 sender: *4 required: - action @@ -123732,10 +126748,10 @@ webhooks: - dismissed_reason - rule - tool - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -123995,10 +127011,10 @@ webhooks: - updated_at - author_association - body - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -124079,18 +127095,18 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 master_branch: description: The name of the repository's default branch (usually `main`). type: string - organization: *721 - pusher_type: &728 + organization: *722 + pusher_type: &729 description: The pusher type for the event. Can be either `user` or a deploy key. type: string - ref: &729 + ref: &730 description: The [`git ref`](https://docs.github.com/rest/git/refs#get-a-reference) resource. type: string @@ -124100,7 +127116,7 @@ webhooks: enum: - tag - branch - repository: *722 + repository: *723 sender: *4 required: - ref @@ -124183,9 +127199,9 @@ webhooks: enum: - created definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -124270,9 +127286,9 @@ webhooks: description: The name of the property that was deleted. required: - property_name - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -124350,9 +127366,9 @@ webhooks: enum: - promote_to_enterprise definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -124430,9 +127446,9 @@ webhooks: enum: - updated definition: *282 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -124509,10 +127525,10 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - repository: *722 - organization: *721 + enterprise: *720 + installation: *721 + repository: *723 + organization: *722 sender: *4 new_property_values: type: array @@ -124597,18 +127613,18 @@ webhooks: title: delete event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - pusher_type: *728 - ref: *729 + enterprise: *720 + installation: *721 + organization: *722 + pusher_type: *729 + ref: *730 ref_type: description: The type of Git ref object deleted in the repository. type: string enum: - tag - branch - repository: *722 + repository: *723 sender: *4 required: - ref @@ -124689,10 +127705,10 @@ webhooks: enum: - assignees_changed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124773,10 +127789,10 @@ webhooks: enum: - auto_dismissed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124858,10 +127874,10 @@ webhooks: enum: - auto_reopened alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -124943,10 +127959,10 @@ webhooks: enum: - created alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -125026,10 +128042,10 @@ webhooks: enum: - dismissed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -125109,10 +128125,10 @@ webhooks: enum: - fixed alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -125193,10 +128209,10 @@ webhooks: enum: - reintroduced alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -125276,10 +128292,10 @@ webhooks: enum: - reopened alert: *483 - installation: *720 - organization: *721 - enterprise: *719 - repository: *722 + installation: *721 + organization: *722 + enterprise: *720 + repository: *723 sender: *4 required: - action @@ -125356,9 +128372,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - key: &730 + enterprise: *720 + installation: *721 + key: &731 description: The [`deploy key`](https://docs.github.com/rest/deploy-keys/deploy-keys#get-a-deploy-key) resource. type: object @@ -125396,8 +128412,8 @@ webhooks: - verified - created_at - read_only - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -125474,11 +128490,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - key: *730 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + key: *731 + organization: *722 + repository: *723 sender: *4 required: - action @@ -126045,12 +129061,12 @@ webhooks: - updated_at - statuses_url - repository_url - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: &734 + workflow: &735 title: Workflow type: - object @@ -126805,9 +129821,9 @@ webhooks: pull_requests: type: array items: *575 - repository: *722 - organization: *721 - installation: *720 + repository: *723 + organization: *722 + installation: *721 sender: *4 responses: '200': @@ -126878,7 +129894,7 @@ webhooks: type: string enum: - approved - approver: &731 + approver: &732 type: object properties: avatar_url: @@ -126921,11 +129937,11 @@ webhooks: type: string comment: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - reviewers: &732 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + reviewers: &733 type: array items: type: object @@ -127006,7 +130022,7 @@ webhooks: sender: *4 since: type: string - workflow_job_run: &733 + workflow_job_run: &734 type: object properties: conclusion: @@ -127752,18 +130768,18 @@ webhooks: type: string enum: - rejected - approver: *731 + approver: *732 comment: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - reviewers: *732 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + reviewers: *733 sender: *4 since: type: string - workflow_job_run: *733 + workflow_job_run: *734 workflow_job_runs: type: array items: @@ -128480,13 +131496,13 @@ webhooks: type: string enum: - requested - enterprise: *719 + enterprise: *720 environment: type: string - installation: *720 - organization: *721 - repository: *722 - requestor: &739 + installation: *721 + organization: *722 + repository: *723 + requestor: &740 title: User type: - object @@ -130419,12 +133435,12 @@ webhooks: - updated_at - deployment_url - repository_url - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Deployment Workflow Run type: @@ -131115,7 +134131,7 @@ webhooks: type: string enum: - answered - answer: &737 + answer: &738 type: object properties: author_association: @@ -131275,11 +134291,11 @@ webhooks: - created_at - updated_at - body - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131406,11 +134422,11 @@ webhooks: - from required: - category - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131493,11 +134509,11 @@ webhooks: type: string enum: - closed - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131579,7 +134595,7 @@ webhooks: type: string enum: - created - comment: &736 + comment: &737 type: object properties: author_association: @@ -131739,11 +134755,11 @@ webhooks: - updated_at - body - reactions - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131826,12 +134842,12 @@ webhooks: type: string enum: - deleted - comment: *736 - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + comment: *737 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -131926,12 +134942,12 @@ webhooks: - from required: - body - comment: *736 - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + comment: *737 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132015,11 +135031,11 @@ webhooks: type: string enum: - created - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132101,11 +135117,11 @@ webhooks: type: string enum: - deleted - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132205,11 +135221,11 @@ webhooks: type: string required: - from - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132291,10 +135307,10 @@ webhooks: type: string enum: - labeled - discussion: *735 - enterprise: *719 - installation: *720 - label: &738 + discussion: *736 + enterprise: *720 + installation: *721 + label: &739 title: Label type: object properties: @@ -132327,8 +135343,8 @@ webhooks: - color - default - description - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132411,11 +135427,11 @@ webhooks: type: string enum: - locked - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132497,11 +135513,11 @@ webhooks: type: string enum: - pinned - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132583,11 +135599,11 @@ webhooks: type: string enum: - reopened - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132672,16 +135688,16 @@ webhooks: changes: type: object properties: - new_discussion: *735 - new_repository: *722 + new_discussion: *736 + new_repository: *723 required: - new_discussion - new_repository - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132764,10 +135780,10 @@ webhooks: type: string enum: - unanswered - discussion: *735 - old_answer: *737 - organization: *721 - repository: *722 + discussion: *736 + old_answer: *738 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132849,12 +135865,12 @@ webhooks: type: string enum: - unlabeled - discussion: *735 - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -132937,11 +135953,11 @@ webhooks: type: string enum: - unlocked - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -133023,11 +136039,11 @@ webhooks: type: string enum: - unpinned - discussion: *735 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + discussion: *736 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -133100,7 +136116,7 @@ webhooks: description: A user forks a repository. type: object properties: - enterprise: *719 + enterprise: *720 forkee: description: The created [`repository`](https://docs.github.com/rest/repos/repos#get-a-repository) resource. @@ -133778,9 +136794,9 @@ webhooks: type: integer watchers_count: type: integer - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - forkee @@ -133926,9 +136942,9 @@ webhooks: title: gollum event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pages: description: The pages that were updated. type: array @@ -133966,7 +136982,7 @@ webhooks: - action - sha - html_url - repository: *722 + repository: *723 sender: *4 required: - pages @@ -134042,10 +137058,10 @@ webhooks: type: string enum: - created - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: &740 + organization: *722 + repositories: &741 description: An array of repository objects that the installation can access. type: array @@ -134071,8 +137087,8 @@ webhooks: - name - full_name - private - repository: *722 - requester: *739 + repository: *723 + requester: *740 sender: *4 required: - action @@ -134147,11 +137163,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -134228,11 +137244,11 @@ webhooks: type: string enum: - new_permissions_accepted - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -134309,10 +137325,10 @@ webhooks: type: string enum: - added - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories_added: &741 + organization: *722 + repositories_added: &742 description: An array of repository objects, which were added to the installation. type: array @@ -134358,15 +137374,15 @@ webhooks: private: description: Whether the repository is private or public. type: boolean - repository: *722 - repository_selection: &742 + repository: *723 + repository_selection: &743 description: Describe whether all repositories have been selected or there's a selection involved type: string enum: - all - selected - requester: *739 + requester: *740 sender: *4 required: - action @@ -134445,10 +137461,10 @@ webhooks: type: string enum: - removed - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories_added: *741 + organization: *722 + repositories_added: *742 repositories_removed: description: An array of repository objects, which were removed from the installation. @@ -134475,9 +137491,9 @@ webhooks: - name - full_name - private - repository: *722 - repository_selection: *742 - requester: *739 + repository: *723 + repository_selection: *743 + requester: *740 sender: *4 required: - action @@ -134556,11 +137572,11 @@ webhooks: type: string enum: - suspend - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -134742,10 +137758,10 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 target_type: type: string @@ -134824,11 +137840,11 @@ webhooks: type: string enum: - unsuspend - enterprise: *719 + enterprise: *720 installation: *20 - organization: *721 - repositories: *740 - repository: *722 + organization: *722 + repositories: *741 + repository: *723 requester: type: - 'null' @@ -135080,8 +138096,8 @@ webhooks: - performed_via_github_app - body - reactions - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -135893,8 +138909,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -136255,8 +139271,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -136336,7 +139352,7 @@ webhooks: type: string enum: - deleted - comment: &743 + comment: &744 title: issue comment description: The [comment](https://docs.github.com/rest/issues/comments#get-an-issue-comment) itself. @@ -136507,8 +139523,8 @@ webhooks: - performed_via_github_app - body - reactions - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -137316,8 +140332,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -137680,8 +140696,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -137761,7 +140777,7 @@ webhooks: type: string enum: - edited - changes: &767 + changes: &768 description: The changes to the comment. type: object properties: @@ -137773,9 +140789,9 @@ webhooks: type: string required: - from - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -138586,8 +141602,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -138948,8 +141964,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -139030,9 +142046,9 @@ webhooks: type: string enum: - pinned - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -139845,8 +142861,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -140209,8 +143225,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -140290,9 +143306,9 @@ webhooks: type: string enum: - unpinned - comment: *743 - enterprise: *719 - installation: *720 + comment: *744 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) the comment belongs to. @@ -141105,8 +144121,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 state: description: State of the issue; either 'open' or 'closed' type: string @@ -141469,8 +144485,8 @@ webhooks: - state - locked - assignee - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141559,9 +144575,9 @@ webhooks: type: number blocking_issue: *82 blocking_issue_repo: *78 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141650,9 +144666,9 @@ webhooks: type: number blocking_issue: *82 blocking_issue_repo: *78 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141740,9 +144756,9 @@ webhooks: description: The ID of the blocking issue. type: number blocking_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141831,9 +144847,9 @@ webhooks: description: The ID of the blocking issue. type: number blocking_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -141913,10 +144929,10 @@ webhooks: type: string enum: - assigned - assignee: *739 - enterprise: *719 - installation: *720 - issue: &744 + assignee: *740 + enterprise: *720 + installation: *721 + issue: &745 title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -142727,8 +145743,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -142851,8 +145867,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -142932,8 +145948,8 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -143749,8 +146765,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -144016,8 +147032,8 @@ webhooks: required: - state - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -144096,8 +147112,8 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -144904,8 +147920,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -145027,8 +148043,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -145107,8 +148123,8 @@ webhooks: type: string enum: - demilestoned - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -145938,8 +148954,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -146040,7 +149056,7 @@ webhooks: format: uri user_view_type: type: string - milestone: &745 + milestone: &746 title: Milestone description: A collection of related issues and pull requests. type: object @@ -146183,8 +149199,8 @@ webhooks: - updated_at - due_on - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -146283,8 +149299,8 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -147095,8 +150111,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -147219,9 +150235,9 @@ webhooks: - active_lock_reason - body - reactions - label: *738 - organization: *721 - repository: *722 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -147301,9 +150317,9 @@ webhooks: type: string enum: - field_added - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 issue_field: type: object description: The issue field whose value was set or updated on the @@ -147422,8 +150438,8 @@ webhooks: - id required: - from - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -147503,9 +150519,9 @@ webhooks: type: string enum: - field_removed - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 issue_field: type: object description: The issue field whose value was cleared from the issue. @@ -147568,8 +150584,8 @@ webhooks: - 'null' required: - id - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -147649,8 +150665,8 @@ webhooks: type: string enum: - labeled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -148460,8 +151476,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -148584,9 +151600,9 @@ webhooks: - active_lock_reason - body - reactions - label: *738 - organization: *721 - repository: *722 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -148666,8 +151682,8 @@ webhooks: type: string enum: - locked - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -149502,8 +152518,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -149603,8 +152619,8 @@ webhooks: format: uri user_view_type: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -149683,8 +152699,8 @@ webhooks: type: string enum: - milestoned - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -150513,8 +153529,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -150614,9 +153630,9 @@ webhooks: format: uri user_view_type: type: string - milestone: *745 - organization: *721 - repository: *722 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -151503,8 +154519,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -152099,8 +155115,8 @@ webhooks: required: - old_issue - old_repository - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -152907,8 +155923,8 @@ webhooks: repository_url: type: string format: uri - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -153034,8 +156050,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -153115,9 +156131,9 @@ webhooks: type: string enum: - pinned - enterprise: *719 - installation: *720 - issue: &746 + enterprise: *720 + installation: *721 + issue: &747 title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) itself. @@ -153922,8 +156938,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -154045,8 +157061,8 @@ webhooks: - active_lock_reason - body - reactions - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -154125,8 +157141,8 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -154959,8 +157975,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -155061,8 +158077,8 @@ webhooks: user_view_type: type: string type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -155950,8 +158966,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -156564,11 +159580,11 @@ webhooks: required: - new_issue - new_repository - enterprise: *719 - installation: *720 - issue: *746 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *747 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156648,12 +159664,12 @@ webhooks: type: string enum: - typed - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156734,7 +159750,7 @@ webhooks: type: string enum: - unassigned - assignee: &770 + assignee: &771 title: User type: - object @@ -156806,11 +159822,11 @@ webhooks: required: - login - id - enterprise: *719 - installation: *720 - issue: *744 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *745 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156889,12 +159905,12 @@ webhooks: type: string enum: - unlabeled - enterprise: *719 - installation: *720 - issue: *744 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *745 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -156974,8 +159990,8 @@ webhooks: type: string enum: - unlocked - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 issue: title: Issue description: The [issue](https://docs.github.com/rest/issues/issues#get-an-issue) @@ -157808,8 +160824,8 @@ webhooks: anyOf: - type: 'null' - *83 - sub_issues_summary: *655 - issue_dependencies_summary: *656 + sub_issues_summary: *656 + issue_dependencies_summary: *657 issue_field_values: type: array items: *538 @@ -157909,8 +160925,8 @@ webhooks: format: uri user_view_type: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -157990,11 +161006,11 @@ webhooks: type: string enum: - unpinned - enterprise: *719 - installation: *720 - issue: *746 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + issue: *747 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158073,12 +161089,12 @@ webhooks: type: string enum: - untyped - enterprise: *719 - installation: *720 - issue: *744 + enterprise: *720 + installation: *721 + issue: *745 type: *236 - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158158,11 +161174,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158240,11 +161256,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158354,11 +161370,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - label: *738 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + label: *739 + organization: *722 + repository: *723 sender: *4 required: - action @@ -158440,9 +161456,9 @@ webhooks: - cancelled effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: &747 + enterprise: *720 + installation: *721 + marketplace_purchase: &748 title: Marketplace Purchase type: object required: @@ -158530,8 +161546,8 @@ webhooks: type: integer unit_count: type: integer - organization: *721 - previous_marketplace_purchase: &748 + organization: *722 + previous_marketplace_purchase: &749 title: Marketplace Purchase type: object properties: @@ -158615,7 +161631,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -158695,10 +161711,10 @@ webhooks: - changed effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 previous_marketplace_purchase: title: Marketplace Purchase type: object @@ -158786,7 +161802,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -158868,10 +161884,10 @@ webhooks: - pending_change effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 previous_marketplace_purchase: title: Marketplace Purchase type: object @@ -158957,7 +161973,7 @@ webhooks: - on_free_trial - free_trial_ends_on - plan - repository: *722 + repository: *723 sender: *4 required: - action @@ -159038,8 +162054,8 @@ webhooks: - pending_change_cancelled effective_date: type: string - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 marketplace_purchase: title: Marketplace Purchase type: object @@ -159125,9 +162141,9 @@ webhooks: type: integer unit_count: type: integer - organization: *721 - previous_marketplace_purchase: *748 - repository: *722 + organization: *722 + previous_marketplace_purchase: *749 + repository: *723 sender: *4 required: - action @@ -159207,12 +162223,12 @@ webhooks: - purchased effective_date: type: string - enterprise: *719 - installation: *720 - marketplace_purchase: *747 - organization: *721 - previous_marketplace_purchase: *748 - repository: *722 + enterprise: *720 + installation: *721 + marketplace_purchase: *748 + organization: *722 + previous_marketplace_purchase: *749 + repository: *723 sender: *4 required: - action @@ -159314,11 +162330,11 @@ webhooks: type: string required: - to - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159420,11 +162436,11 @@ webhooks: type: - string - 'null' - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159503,11 +162519,11 @@ webhooks: type: string enum: - removed - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 sender: *4 required: - action @@ -159585,11 +162601,11 @@ webhooks: type: string enum: - added - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 scope: description: The scope of the membership. Currently, can only be `team`. @@ -159667,7 +162683,7 @@ webhooks: required: - login - id - team: &749 + team: &750 title: Team description: Groups of organization members that gives permissions on specified repositories. @@ -159897,11 +162913,11 @@ webhooks: type: string enum: - removed - enterprise: *719 - installation: *720 - member: *739 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + member: *740 + organization: *722 + repository: *723 scope: description: The scope of the membership. Currently, can only be `team`. @@ -159980,7 +162996,7 @@ webhooks: required: - login - id - team: *749 + team: *750 required: - action - scope @@ -160062,8 +163078,8 @@ webhooks: type: string enum: - checks_requested - installation: *720 - merge_group: &750 + installation: *721 + merge_group: &751 type: object title: Merge Group description: A group of pull requests that the merge queue has grouped @@ -160089,8 +163105,8 @@ webhooks: - base_sha - base_ref - head_commit - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160176,10 +163192,10 @@ webhooks: - merged - invalidated - dequeued - installation: *720 - merge_group: *750 - organization: *721 - repository: *722 + installation: *721 + merge_group: *751 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160252,7 +163268,7 @@ webhooks: type: string enum: - deleted - enterprise: *719 + enterprise: *720 hook: description: 'The deleted webhook. This will contain different keys based on the type of webhook it is: repository, organization, @@ -160361,12 +163377,12 @@ webhooks: hook_id: description: The id of the modified webhook. type: integer - installation: *720 - organization: *721 + installation: *721 + organization: *722 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -160446,11 +163462,11 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160529,9 +163545,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - milestone: &751 + enterprise: *720 + installation: *721 + milestone: &752 title: Milestone description: A collection of related issues and pull requests. type: object @@ -160673,8 +163689,8 @@ webhooks: - updated_at - due_on - closed_at - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160753,11 +163769,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160867,11 +163883,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - milestone: *745 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *746 + organization: *722 + repository: *723 sender: *4 required: - action @@ -160951,11 +163967,11 @@ webhooks: type: string enum: - opened - enterprise: *719 - installation: *720 - milestone: *751 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + milestone: *752 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161034,11 +164050,11 @@ webhooks: type: string enum: - blocked - blocked_user: *739 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + blocked_user: *740 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161117,11 +164133,11 @@ webhooks: type: string enum: - unblocked - blocked_user: *739 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + blocked_user: *740 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161200,9 +164216,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - membership: &752 + enterprise: *720 + installation: *721 + membership: &753 title: Membership description: The membership between the user and the organization. Not present when the action is `member_invited`. @@ -161312,8 +164328,8 @@ webhooks: - role - organization_url - user - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161391,11 +164407,11 @@ webhooks: type: string enum: - member_added - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161474,8 +164490,8 @@ webhooks: type: string enum: - member_invited - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 invitation: description: The invitation for the user or email if the action is `member_invited`. @@ -161597,10 +164613,10 @@ webhooks: - inviter - team_count - invitation_teams_url - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 - user: *739 + user: *740 required: - action - invitation @@ -161678,11 +164694,11 @@ webhooks: type: string enum: - member_removed - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161769,11 +164785,11 @@ webhooks: properties: from: type: string - enterprise: *719 - installation: *720 - membership: *752 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + membership: *753 + organization: *722 + repository: *723 sender: *4 required: - action @@ -161850,9 +164866,9 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 package: description: Information about the package. type: object @@ -162375,7 +165391,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: &753 + items: &754 title: Ruby Gems metadata type: object properties: @@ -162472,7 +165488,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -162548,9 +165564,9 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 package: description: Information about the package. type: object @@ -162912,7 +165928,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: *753 + items: *754 source_url: type: string format: uri @@ -162983,7 +165999,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -163163,12 +166179,12 @@ webhooks: - duration - created_at - updated_at - enterprise: *719 + enterprise: *720 id: type: integer - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - id @@ -163245,7 +166261,7 @@ webhooks: type: string enum: - approved - personal_access_token_request: &754 + personal_access_token_request: &755 title: Personal Access Token Request description: Details of a Personal Access Token Request. type: object @@ -163395,10 +166411,10 @@ webhooks: - token_expired - token_expires_at - token_last_used_at - enterprise: *719 - organization: *721 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -163475,11 +166491,11 @@ webhooks: type: string enum: - cancelled - personal_access_token_request: *754 - enterprise: *719 - organization: *721 + personal_access_token_request: *755 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -163555,11 +166571,11 @@ webhooks: type: string enum: - created - personal_access_token_request: *754 - enterprise: *719 - organization: *721 + personal_access_token_request: *755 + enterprise: *720 + organization: *722 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -163634,11 +166650,11 @@ webhooks: type: string enum: - denied - personal_access_token_request: *754 - organization: *721 - enterprise: *719 + personal_access_token_request: *755 + organization: *722 + enterprise: *720 sender: *4 - installation: *720 + installation: *721 required: - action - personal_access_token_request @@ -163743,7 +166759,7 @@ webhooks: id: description: Unique identifier of the webhook. type: integer - last_response: *755 + last_response: *756 name: description: The type of webhook. The only valid value is 'web'. type: string @@ -163775,8 +166791,8 @@ webhooks: hook_id: description: The ID of the webhook that triggered the ping. type: integer - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 zen: description: Random string of GitHub zen. @@ -164021,10 +167037,10 @@ webhooks: - from required: - note - enterprise: *719 - installation: *720 - organization: *721 - project_card: &756 + enterprise: *720 + installation: *721 + organization: *722 + project_card: &757 title: Project Card type: object properties: @@ -164147,7 +167163,7 @@ webhooks: - creator - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -164228,11 +167244,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project_card: *756 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_card: *757 + repository: *723 sender: *4 required: - action @@ -164312,9 +167328,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 project_card: title: Project Card type: object @@ -164444,7 +167460,7 @@ webhooks: repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -164538,11 +167554,11 @@ webhooks: - from required: - note - enterprise: *719 - installation: *720 - organization: *721 - project_card: *756 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_card: *757 + repository: *723 sender: *4 required: - action @@ -164636,9 +167652,9 @@ webhooks: - from required: - column_id - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 project_card: allOf: - title: Project Card @@ -164835,7 +167851,7 @@ webhooks: type: string required: - after_id - repository: *722 + repository: *723 sender: *4 required: - action @@ -164915,10 +167931,10 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - organization: *721 - project: &758 + enterprise: *720 + installation: *721 + organization: *722 + project: &759 title: Project type: object properties: @@ -165045,7 +168061,7 @@ webhooks: - creator - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -165125,10 +168141,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project_column: &757 + enterprise: *720 + installation: *721 + organization: *722 + project_column: &758 title: Project Column type: object properties: @@ -165168,7 +168184,7 @@ webhooks: - name - created_at - updated_at - repository: *722 + repository: *723 sender: *4 required: - action @@ -165247,14 +168263,14 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -165343,11 +168359,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 + repository: *723 sender: *4 required: - action @@ -165427,11 +168443,11 @@ webhooks: type: string enum: - moved - enterprise: *719 - installation: *720 - organization: *721 - project_column: *757 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project_column: *758 + repository: *723 sender: *4 required: - action @@ -165511,11 +168527,11 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -165595,14 +168611,14 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - project: *758 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 repository: anyOf: - type: 'null' - - *722 + - *723 sender: *4 required: - action @@ -165703,11 +168719,11 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -165786,11 +168802,11 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 - organization: *721 - project: *758 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + project: *759 + repository: *723 sender: *4 required: - action @@ -165871,8 +168887,8 @@ webhooks: type: string enum: - closed - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -165954,8 +168970,8 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -166037,8 +169053,8 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -166160,8 +169176,8 @@ webhooks: type: string to: type: string - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -166245,7 +169261,7 @@ webhooks: type: string enum: - archived - changes: &762 + changes: &763 type: object properties: archived_at: @@ -166261,9 +169277,9 @@ webhooks: - string - 'null' format: date-time - installation: *720 - organization: *721 - projects_v2_item: &759 + installation: *721 + organization: *722 + projects_v2_item: &760 title: Projects v2 Item description: An item belonging to a project type: object @@ -166403,9 +169419,9 @@ webhooks: - 'null' to: type: string - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -166487,9 +169503,9 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -166570,9 +169586,9 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -166677,7 +169693,7 @@ webhooks: oneOf: - type: string - type: integer - - &760 + - &761 title: Projects v2 Single Select Option description: An option for a single select field type: object @@ -166701,7 +169717,7 @@ webhooks: required: - id - name - - &761 + - &762 title: Projects v2 Iteration Setting description: An iteration setting for an iteration field type: object @@ -166741,8 +169757,8 @@ webhooks: oneOf: - type: string - type: integer - - *760 - *761 + - *762 type: - 'null' - string @@ -166765,9 +169781,9 @@ webhooks: - 'null' required: - body - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -166864,9 +169880,9 @@ webhooks: type: - string - 'null' - installation: *720 - organization: *721 - projects_v2_item: *759 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -166949,10 +169965,10 @@ webhooks: type: string enum: - restored - changes: *762 - installation: *720 - organization: *721 - projects_v2_item: *759 + changes: *763 + installation: *721 + organization: *722 + projects_v2_item: *760 sender: *4 required: - action @@ -167034,8 +170050,8 @@ webhooks: type: string enum: - reopened - installation: *720 - organization: *721 + installation: *721 + organization: *722 projects_v2: *269 sender: *4 required: @@ -167117,9 +170133,9 @@ webhooks: type: string enum: - created - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -167200,9 +170216,9 @@ webhooks: type: string enum: - deleted - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -167348,9 +170364,9 @@ webhooks: - string - 'null' format: date - installation: *720 - organization: *721 - projects_v2_status_update: *763 + installation: *721 + organization: *722 + projects_v2_status_update: *764 sender: *4 required: - action @@ -167421,10 +170437,10 @@ webhooks: title: public event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - repository @@ -167501,13 +170517,13 @@ webhooks: type: string enum: - assigned - assignee: *739 - enterprise: *719 - installation: *720 - number: &764 + assignee: *740 + enterprise: *720 + installation: *721 + number: &765 description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -169878,7 +172894,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -169975,11 +172991,11 @@ webhooks: type: string enum: - auto_merge_disabled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -172343,7 +175359,7 @@ webhooks: - draft reason: type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -172440,11 +175456,11 @@ webhooks: type: string enum: - auto_merge_enabled - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -174808,7 +177824,7 @@ webhooks: - draft reason: type: string - repository: *722 + repository: *723 sender: *4 required: - action @@ -174905,11 +177921,11 @@ webhooks: type: string enum: - closed - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: &765 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: &766 allOf: - *575 - type: object @@ -174973,7 +177989,7 @@ webhooks: Please use `squash_merge_commit_title` instead.** type: boolean default: false - repository: *722 + repository: *723 sender: *4 required: - action @@ -175054,12 +178070,12 @@ webhooks: type: string enum: - converted_to_draft - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -175139,11 +178155,11 @@ webhooks: type: string enum: - demilestoned - enterprise: *719 + enterprise: *720 milestone: *272 - number: *764 - organization: *721 - pull_request: &766 + number: *765 + organization: *722 + pull_request: &767 title: Pull Request type: object properties: @@ -177534,7 +180550,7 @@ webhooks: - active_lock_reason - draft version: '2026-03-10' - repository: *722 + repository: *723 sender: *4 required: - action @@ -177613,11 +180629,11 @@ webhooks: type: string enum: - dequeued - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -179985,7 +183001,7 @@ webhooks: - BRANCH_PROTECTIONS - GIT_TREE_INVALID - INVALID_MERGE_COMMIT - repository: *722 + repository: *723 sender: *4 required: - action @@ -180117,12 +183133,12 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -180202,11 +183218,11 @@ webhooks: type: string enum: - enqueued - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -182559,7 +185575,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -182647,11 +185663,11 @@ webhooks: type: string enum: - labeled - enterprise: *719 - installation: *720 - label: *738 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + label: *739 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -185021,7 +188037,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -185117,10 +188133,10 @@ webhooks: type: string enum: - locked - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -187488,7 +190504,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -187583,12 +190599,12 @@ webhooks: type: string enum: - milestoned - enterprise: *719 + enterprise: *720 milestone: *272 - number: *764 - organization: *721 - pull_request: *766 - repository: *722 + number: *765 + organization: *722 + pull_request: *767 + repository: *723 sender: *4 required: - action @@ -187667,12 +190683,12 @@ webhooks: type: string enum: - opened - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -187753,12 +190769,12 @@ webhooks: type: string enum: - ready_for_review - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -187838,12 +190854,12 @@ webhooks: type: string enum: - reopened - enterprise: *719 - installation: *720 - number: *764 - organization: *721 - pull_request: *765 - repository: *722 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 + pull_request: *766 + repository: *723 sender: *4 required: - action @@ -188218,9 +191234,9 @@ webhooks: - start_side - side - reactions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -190472,7 +193488,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -190567,7 +193583,7 @@ webhooks: type: string enum: - deleted - comment: &768 + comment: &769 title: Pull Request Review Comment description: The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. @@ -190860,9 +193876,9 @@ webhooks: - start_side - side - reactions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -193102,7 +196118,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -193197,11 +196213,11 @@ webhooks: type: string enum: - edited - changes: *767 - comment: *768 - enterprise: *719 - installation: *720 - organization: *721 + changes: *768 + comment: *769 + enterprise: *720 + installation: *721 + organization: *722 pull_request: type: object properties: @@ -195444,7 +198460,7 @@ webhooks: - _links - author_association - active_lock_reason - repository: *722 + repository: *723 sender: *4 required: - action @@ -195540,9 +198556,9 @@ webhooks: type: string enum: - dismissed - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -197797,7 +200813,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 review: description: The review that was affected. type: object @@ -198063,9 +201079,9 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -200179,8 +203195,8 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 - review: &769 + repository: *723 + review: &770 description: The review that was affected. type: object properties: @@ -200426,12 +203442,12 @@ webhooks: type: string enum: - review_request_removed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -202800,7 +205816,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_reviewer: title: User type: @@ -202886,12 +205902,12 @@ webhooks: type: string enum: - review_request_removed - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -205267,7 +208283,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_team: title: Team description: Groups of organization members that gives permissions @@ -205485,12 +208501,12 @@ webhooks: type: string enum: - review_requested - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -207861,7 +210877,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_reviewer: title: User type: @@ -207948,12 +210964,12 @@ webhooks: type: string enum: - review_requested - enterprise: *719 - installation: *720 + enterprise: *720 + installation: *721 number: description: The pull request number. type: integer - organization: *721 + organization: *722 pull_request: title: Pull Request type: object @@ -210315,7 +213331,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 requested_team: title: Team description: Groups of organization members that gives permissions @@ -210522,9 +213538,9 @@ webhooks: type: string enum: - submitted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -212782,8 +215798,8 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 - review: *769 + repository: *723 + review: *770 sender: *4 required: - action @@ -212878,9 +215894,9 @@ webhooks: type: string enum: - resolved - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -215033,7 +218049,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 sender: *4 thread: type: object @@ -215438,9 +218454,9 @@ webhooks: type: string enum: - unresolved - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 pull_request: title: Simple Pull Request type: object @@ -217576,7 +220592,7 @@ webhooks: - author_association - auto_merge - active_lock_reason - repository: *722 + repository: *723 sender: *4 thread: type: object @@ -217983,10 +220999,10 @@ webhooks: type: string before: type: string - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -220343,7 +223359,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -220440,11 +223456,11 @@ webhooks: type: string enum: - unassigned - assignee: *770 - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + assignee: *771 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -222816,7 +225832,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -222910,11 +225926,11 @@ webhooks: type: string enum: - unlabeled - enterprise: *719 - installation: *720 - label: *738 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + label: *739 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -225275,7 +228291,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -225371,10 +228387,10 @@ webhooks: type: string enum: - unlocked - enterprise: *719 - installation: *720 - number: *764 - organization: *721 + enterprise: *720 + installation: *721 + number: *765 + organization: *722 pull_request: title: Pull Request type: object @@ -227725,7 +230741,7 @@ webhooks: - auto_merge - active_lock_reason - draft - repository: *722 + repository: *723 sender: *4 required: - action @@ -227943,7 +230959,7 @@ webhooks: deleted: description: Whether this push deleted the `ref`. type: boolean - enterprise: *719 + enterprise: *720 forced: description: Whether this push was a force push of the `ref`. type: boolean @@ -228038,8 +231054,8 @@ webhooks: - url - author - committer - installation: *720 - organization: *721 + installation: *721 + organization: *722 pusher: title: Committer description: Metaproperties for Git author/committer information. @@ -228638,9 +231654,9 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 registry_package: type: object properties: @@ -229117,7 +232133,7 @@ webhooks: type: string rubygems_metadata: type: array - items: *753 + items: *754 summary: type: string tag_name: @@ -229173,7 +232189,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -229251,9 +232267,9 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 registry_package: type: object properties: @@ -229565,7 +232581,7 @@ webhooks: - published_at rubygems_metadata: type: array - items: *753 + items: *754 summary: type: string tag_name: @@ -229615,7 +232631,7 @@ webhooks: - owner - package_version - registry - repository: *722 + repository: *723 sender: *4 required: - action @@ -229692,10 +232708,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - release: &771 + enterprise: *720 + installation: *721 + organization: *722 + release: &772 title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. @@ -230026,7 +233042,7 @@ webhooks: - updated_at - zipball_url - body - repository: *722 + repository: *723 sender: *4 required: - action @@ -230103,11 +233119,11 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -230224,11 +233240,11 @@ webhooks: type: boolean required: - to - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -230306,9 +233322,9 @@ webhooks: type: string enum: - prereleased - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 release: title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) @@ -230644,7 +233660,7 @@ webhooks: - string - 'null' format: uri - repository: *722 + repository: *723 sender: *4 required: - action @@ -230720,10 +233736,10 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - release: &772 + enterprise: *720 + installation: *721 + organization: *722 + release: &773 title: Release description: The [release](https://docs.github.com/rest/releases/releases/#get-a-release) object. @@ -231056,7 +234072,7 @@ webhooks: - string - 'null' format: uri - repository: *722 + repository: *723 sender: *4 required: - action @@ -231132,11 +234148,11 @@ webhooks: type: string enum: - released - enterprise: *719 - installation: *720 - organization: *721 - release: *771 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *772 + repository: *723 sender: *4 required: - action @@ -231212,11 +234228,11 @@ webhooks: type: string enum: - unpublished - enterprise: *719 - installation: *720 - organization: *721 - release: *772 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + release: *773 + repository: *723 sender: *4 required: - action @@ -231292,11 +234308,11 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - repository_advisory: *642 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + repository_advisory: *643 sender: *4 required: - action @@ -231372,11 +234388,11 @@ webhooks: type: string enum: - reported - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - repository_advisory: *642 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + repository_advisory: *643 sender: *4 required: - action @@ -231452,10 +234468,10 @@ webhooks: type: string enum: - archived - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231532,10 +234548,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231613,10 +234629,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231701,10 +234717,10 @@ webhooks: additionalProperties: true description: The `client_payload` that was specified in the `POST /repos/{owner}/{repo}/dispatches` request body. - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231819,10 +234835,10 @@ webhooks: - 'null' items: type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -231894,10 +234910,10 @@ webhooks: title: repository_import event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 status: type: string @@ -231978,10 +234994,10 @@ webhooks: type: string enum: - privatized - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232058,10 +235074,10 @@ webhooks: type: string enum: - publicized - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232155,10 +235171,10 @@ webhooks: - name required: - repository - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232238,10 +235254,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 sender: *4 required: @@ -232320,10 +235336,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 sender: *4 required: @@ -232402,10 +235418,10 @@ webhooks: type: string enum: - edited - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 repository_ruleset: *314 changes: type: object @@ -232713,10 +235729,10 @@ webhooks: - from required: - owner - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232794,10 +235810,10 @@ webhooks: type: string enum: - unarchived - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -232875,7 +235891,7 @@ webhooks: type: string enum: - create - alert: &773 + alert: &774 title: Repository Vulnerability Alert Alert description: The security alert of the vulnerable dependency. type: object @@ -233000,10 +236016,10 @@ webhooks: enum: - auto_dismissed - open - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233213,10 +236229,10 @@ webhooks: type: string enum: - dismissed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233294,11 +236310,11 @@ webhooks: type: string enum: - reopen - alert: *773 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *774 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233500,10 +236516,10 @@ webhooks: enum: - fixed - open - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233581,7 +236597,7 @@ webhooks: type: string enum: - assigned - alert: &774 + alert: &775 type: object properties: number: *171 @@ -233721,10 +236737,10 @@ webhooks: - type: 'null' - *4 assignee: *4 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233802,11 +236818,11 @@ webhooks: type: string enum: - created - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -233887,11 +236903,11 @@ webhooks: type: string enum: - created - alert: *774 - installation: *720 - location: *775 - organization: *721 - repository: *722 + alert: *775 + installation: *721 + location: *776 + organization: *722 + repository: *723 sender: *4 required: - location @@ -234129,11 +237145,11 @@ webhooks: type: string enum: - publicly_leaked - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234211,11 +237227,11 @@ webhooks: type: string enum: - reopened - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234293,11 +237309,11 @@ webhooks: type: string enum: - resolved - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234375,12 +237391,12 @@ webhooks: type: string enum: - unassigned - alert: *774 + alert: *775 assignee: *4 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234458,11 +237474,11 @@ webhooks: type: string enum: - validated - alert: *774 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + alert: *775 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -234592,10 +237608,10 @@ webhooks: - organization - enterprise - - repository: *722 - enterprise: *719 - installation: *720 - organization: *721 + repository: *723 + enterprise: *720 + installation: *721 + organization: *722 sender: *4 required: - action @@ -234673,11 +237689,11 @@ webhooks: type: string enum: - published - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - security_advisory: &776 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + security_advisory: &777 description: The details of the security advisory, including summary, description, and severity. type: object @@ -234881,11 +237897,11 @@ webhooks: type: string enum: - updated - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 - security_advisory: *776 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 + security_advisory: *777 sender: *4 required: - action @@ -234958,10 +237974,10 @@ webhooks: type: string enum: - withdrawn - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 security_advisory: description: The details of the security advisory, including summary, description, and severity. @@ -235156,9 +238172,9 @@ webhooks: type: object properties: security_and_analysis: *287 - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: *334 sender: *4 required: @@ -235237,12 +238253,12 @@ webhooks: type: string enum: - cancelled - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: &777 + sponsorship: &778 type: object properties: created_at: @@ -235547,12 +238563,12 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - sponsorship @@ -235640,12 +238656,12 @@ webhooks: type: string required: - from - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -235722,17 +238738,17 @@ webhooks: type: string enum: - pending_cancellation - effective_date: &778 + effective_date: &779 description: The `pending_cancellation` and `pending_tier_change` event types will include the date the cancellation or tier change will take effect. type: string - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - sponsorship @@ -235806,7 +238822,7 @@ webhooks: type: string enum: - pending_tier_change - changes: &779 + changes: &780 type: object properties: tier: @@ -235850,13 +238866,13 @@ webhooks: - from required: - tier - effective_date: *778 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + effective_date: *779 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -235933,13 +238949,13 @@ webhooks: type: string enum: - tier_changed - changes: *779 - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + changes: *780 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - sponsorship: *777 + sponsorship: *778 required: - action - changes @@ -236013,10 +239029,10 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 starred_at: description: 'The time the star was created. This is a timestamp @@ -236100,10 +239116,10 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 starred_at: description: 'The time the star was created. This is a timestamp @@ -236537,15 +239553,15 @@ webhooks: type: - string - 'null' - enterprise: *719 + enterprise: *720 id: description: The unique identifier of the status. type: integer - installation: *720 + installation: *721 name: type: string - organization: *721 - repository: *722 + organization: *722 + repository: *723 sender: *4 sha: description: The Commit SHA. @@ -236661,9 +239677,9 @@ webhooks: description: The ID of the sub-issue. type: number sub_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -236753,9 +239769,9 @@ webhooks: description: The ID of the sub-issue. type: number sub_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -236845,9 +239861,9 @@ webhooks: description: The ID of the parent issue. type: number parent_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -236937,9 +239953,9 @@ webhooks: description: The ID of the parent issue. type: number parent_issue: *82 - installation: *720 - organization: *721 - repository: *722 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -237016,12 +240032,12 @@ webhooks: title: team_add event type: object properties: - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - team: &780 + team: &781 title: Team description: Groups of organization members that gives permissions on specified repositories. @@ -237251,9 +240267,9 @@ webhooks: type: string enum: - added_to_repository - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -237723,7 +240739,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -237799,9 +240815,9 @@ webhooks: type: string enum: - created - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -238271,7 +241287,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -238348,9 +241364,9 @@ webhooks: type: string enum: - deleted - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -238820,7 +241836,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -238964,9 +241980,9 @@ webhooks: - from required: - permissions - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -239436,7 +242452,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - changes @@ -239514,9 +242530,9 @@ webhooks: type: string enum: - removed_from_repository - enterprise: *719 - installation: *720 - organization: *721 + enterprise: *720 + installation: *721 + organization: *722 repository: title: Repository description: A git repository @@ -239986,7 +243002,7 @@ webhooks: - topics - visibility sender: *4 - team: *780 + team: *781 required: - action - team @@ -240062,10 +243078,10 @@ webhooks: type: string enum: - started - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 required: - action @@ -240138,17 +243154,17 @@ webhooks: title: workflow_dispatch event type: object properties: - enterprise: *719 + enterprise: *720 inputs: type: - object - 'null' additionalProperties: true - installation: *720 - organization: *721 + installation: *721 + organization: *722 ref: type: string - repository: *722 + repository: *723 sender: *4 workflow: type: string @@ -240230,10 +243246,10 @@ webhooks: type: string enum: - completed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: allOf: @@ -240568,10 +243584,10 @@ webhooks: type: string enum: - in_progress - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: allOf: @@ -240932,10 +243948,10 @@ webhooks: type: string enum: - queued - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: type: object @@ -241160,10 +244176,10 @@ webhooks: type: string enum: - waiting - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 workflow_job: type: object @@ -241390,12 +244406,12 @@ webhooks: type: string enum: - completed - enterprise: *719 - installation: *720 - organization: *721 - repository: *722 + enterprise: *720 + installation: *721 + organization: *722 + repository: *723 sender: *4 - workflow: *734 + workflow: *735 workflow_run: title: Workflow Run type: object @@ -242{"code":"deadline_exceeded","msg":"operation timed out"}