{"meta":{"title":"工作流运行的 REST API 终结点","intro":"使用 REST API 与 GitHub Actions 中的工作流运行进行交互。","product":"REST API","breadcrumbs":[{"href":"/zh/rest","title":"REST API"},{"href":"/zh/rest/actions","title":"操作"},{"href":"/zh/rest/actions/workflow-runs","title":"工作流运行"}],"documentType":"article"},"body":"# 工作流运行的 REST API 终结点\n\n使用 REST API 与 GitHub Actions 中的工作流运行进行交互。\n\n## 关于 GitHub Actions\n\n中的工作流运行\n\n可以使用 REST API 在 GitHub Actions\n中查看、重新运行、取消和查看工作流运行的日志。 工作流程运行是当预配置的事件发生时运行的工作流程实例。有关详细信息，请参阅“[管理工作流程运行](/zh/actions/managing-workflow-runs)”。\n\n> \\[!NOTE]\n> Most endpoints use `Authorization: Bearer <YOUR-TOKEN>` and `Accept: application/vnd.github+json` headers, plus `X-GitHub-Api-Version: 2026-03-10`. Curl examples below omit these standard headers for brevity.\n\n## Re-run a job from a workflow run\n\n```\nPOST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun\n```\n\nRe-run a job and its dependent jobs in a workflow run.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`job_id`** (integer) (required)\n  The unique identifier of the job.\n\n#### Body parameters\n\n* **`enable_debug_logging`** (boolean)\n  Whether to enable debug logging for the re-run.\n  Default: `false`\n\n* **`enable_debugger`** (boolean)\n  Whether to enable the debugger for the re-run of this job.\n  Default: `false`\n\n### HTTP response status codes\n\n* **201** - Created\n\n* **403** - Forbidden\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/jobs/JOB_ID/rerun\n```\n\n**Response schema (Status: 201):**\n\n## List workflow runs for a repository\n\n```\nGET /repos/{owner}/{repo}/actions/runs\n```\n\nLists all workflow runs for a repository. You can use parameters to narrow the list of results. For more information about using parameters, see Parameters.\nAnyone with read access to the repository can use this endpoint.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\nThis endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check\\_suite\\_id, created, event, head\\_sha, status.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`actor`** (string)\n  Returns someone's workflow runs. Use the login for the user who created the push associated with the check suite or workflow run.\n\n* **`branch`** (string)\n  Returns workflow runs associated with a branch. Use the name of the branch of the push.\n\n* **`event`** (string)\n  Returns workflow run triggered by the event you specify. For example, push, pull\\_request or issue. For more information, see \"Events that trigger workflows.\"\n\n* **`status`** (string)\n  Returns workflow runs with the check run status or conclusion that you specify. For example, a conclusion can be success or a status can be in\\_progress. Only GitHub Actions can set a status of waiting, pending, or requested.\n  Can be one of: `completed`, `action_required`, `cancelled`, `failure`, `neutral`, `skipped`, `stale`, `success`, `timed_out`, `in_progress`, `queued`, `requested`, `waiting`, `pending`\n\n* **`per_page`** (integer)\n  The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"\n  Default: `30`\n\n* **`page`** (integer)\n  The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"\n  Default: `1`\n\n* **`created`** (string)\n  Returns workflow runs created within the given date-time range. For more information on the syntax, see \"Understanding the search syntax.\"\n\n* **`exclude_pull_requests`** (boolean)\n  If true pull requests are omitted from the response (empty array).\n  Default: `false`\n\n* **`check_suite_id`** (integer)\n  Returns workflow runs with the check\\_suite\\_id that you specify.\n\n* **`head_sha`** (string)\n  Only returns workflow runs that are associated with the specified head\\_sha.\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs\n```\n\n**Response schema (Status: 200):**\n\n* `total_count`: required, integer\n* `workflow_runs`: required, array of `Workflow Run`:\n  * `id`: required, integer\n  * `name`: string or null\n  * `node_id`: required, string\n  * `check_suite_id`: integer\n  * `check_suite_node_id`: string\n  * `head_branch`: required, string or null\n  * `head_sha`: required, string\n  * `path`: required, string\n  * `run_number`: required, integer\n  * `run_attempt`: integer\n  * `referenced_workflows`: array of `Referenced workflow` or null:\n    * `path`: required, string\n    * `sha`: required, string\n    * `ref`: string\n  * `event`: required, string\n  * `status`: required, string or null\n  * `conclusion`: required, string or null\n  * `workflow_id`: required, integer\n  * `url`: required, string\n  * `html_url`: required, string\n  * `pull_requests`: required, array of `Pull Request Minimal` or null:\n    * `id`: required, integer, format: int64\n    * `number`: required, integer\n    * `url`: required, string\n    * `head`: required, object:\n      * `ref`: required, string\n      * `sha`: required, string\n      * `repo`: required, object:\n        * `id`: required, integer, format: int64\n        * `url`: required, string\n        * `name`: required, string\n    * `base`: required, object:\n      * `ref`: required, string\n      * `sha`: required, string\n      * `repo`: required, object:\n        * `id`: required, integer, format: int64\n        * `url`: required, string\n        * `name`: required, string\n  * `created_at`: required, string, format: date-time\n  * `updated_at`: required, string, format: date-time\n  * `actor`: `Simple User`:\n    * `name`: string or null\n    * `email`: string or null\n    * `login`: required, string\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `avatar_url`: required, string, format: uri\n    * `gravatar_id`: required, string or null\n    * `url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `followers_url`: required, string, format: uri\n    * `following_url`: required, string\n    * `gists_url`: required, string\n    * `starred_url`: required, string\n    * `subscriptions_url`: required, string, format: uri\n    * `organizations_url`: required, string, format: uri\n    * `repos_url`: required, string, format: uri\n    * `events_url`: required, string\n    * `received_events_url`: required, string, format: uri\n    * `type`: required, string\n    * `site_admin`: required, boolean\n    * `starred_at`: string\n    * `user_view_type`: string\n  * `triggering_actor`: `Simple User`:\n    * `name`: string or null\n    * `email`: string or null\n    * `login`: required, string\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `avatar_url`: required, string, format: uri\n    * `gravatar_id`: required, string or null\n    * `url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `followers_url`: required, string, format: uri\n    * `following_url`: required, string\n    * `gists_url`: required, string\n    * `starred_url`: required, string\n    * `subscriptions_url`: required, string, format: uri\n    * `organizations_url`: required, string, format: uri\n    * `repos_url`: required, string, format: uri\n    * `events_url`: required, string\n    * `received_events_url`: required, string, format: uri\n    * `type`: required, string\n    * `site_admin`: required, boolean\n    * `starred_at`: string\n    * `user_view_type`: string\n  * `run_started_at`: string, format: date-time\n  * `jobs_url`: required, string\n  * `logs_url`: required, string\n  * `check_suite_url`: required, string\n  * `artifacts_url`: required, string\n  * `cancel_url`: required, string\n  * `rerun_url`: required, string\n  * `previous_attempt_url`: string or null\n  * `workflow_url`: required, string\n  * `head_commit`: required, any of:\n    * **null**\n    * **Simple Commit**\n      * `id`: required, string\n      * `tree_id`: required, string\n      * `message`: required, string\n      * `timestamp`: required, string, format: date-time\n      * `author`: required, object or null:\n        * `name`: required, string\n        * `email`: required, string, format: email\n      * `committer`: required, object or null:\n        * `name`: required, string\n        * `email`: required, string, format: email\n  * `repository`: required, `Minimal Repository`:\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `name`: required, string\n    * `full_name`: required, string\n    * `owner`: required, `Simple User`:\n      * `name`: string or null\n      * `email`: string or null\n      * `login`: required, string\n      * `id`: required, integer, format: int64\n      * `node_id`: required, string\n      * `avatar_url`: required, string, format: uri\n      * `gravatar_id`: required, string or null\n      * `url`: required, string, format: uri\n      * `html_url`: required, string, format: uri\n      * `followers_url`: required, string, format: uri\n      * `following_url`: required, string\n      * `gists_url`: required, string\n      * `starred_url`: required, string\n      * `subscriptions_url`: required, string, format: uri\n      * `organizations_url`: required, string, format: uri\n      * `repos_url`: required, string, format: uri\n      * `events_url`: required, string\n      * `received_events_url`: required, string, format: uri\n      * `type`: required, string\n      * `site_admin`: required, boolean\n      * `starred_at`: string\n      * `user_view_type`: string\n    * `private`: required, boolean\n    * `html_url`: required, string, format: uri\n    * `description`: required, string or null\n    * `fork`: required, boolean\n    * `url`: required, string, format: uri\n    * `archive_url`: required, string\n    * `assignees_url`: required, string\n    * `blobs_url`: required, string\n    * `branches_url`: required, string\n    * `collaborators_url`: required, string\n    * `comments_url`: required, string\n    * `commits_url`: required, string\n    * `compare_url`: required, string\n    * `contents_url`: required, string\n    * `contributors_url`: required, string, format: uri\n    * `deployments_url`: required, string, format: uri\n    * `downloads_url`: required, string, format: uri\n    * `events_url`: required, string, format: uri\n    * `forks_url`: required, string, format: uri\n    * `git_commits_url`: required, string\n    * `git_refs_url`: required, string\n    * `git_tags_url`: required, string\n    * `git_url`: string\n    * `issue_comment_url`: required, string\n    * `issue_events_url`: required, string\n    * `issues_url`: required, string\n    * `keys_url`: required, string\n    * `labels_url`: required, string\n    * `languages_url`: required, string, format: uri\n    * `merges_url`: required, string, format: uri\n    * `milestones_url`: required, string\n    * `notifications_url`: required, string\n    * `pulls_url`: required, string\n    * `releases_url`: required, string\n    * `ssh_url`: string\n    * `stargazers_url`: required, string, format: uri\n    * `statuses_url`: required, string\n    * `subscribers_url`: required, string, format: uri\n    * `subscription_url`: required, string, format: uri\n    * `tags_url`: required, string, format: uri\n    * `teams_url`: required, string, format: uri\n    * `trees_url`: required, string\n    * `clone_url`: string\n    * `mirror_url`: string or null\n    * `hooks_url`: required, string, format: uri\n    * `svn_url`: string\n    * `homepage`: string or null\n    * `language`: string or null\n    * `forks_count`: integer\n    * `stargazers_count`: integer\n    * `watchers_count`: integer\n    * `size`: integer\n    * `default_branch`: string\n    * `open_issues_count`: integer\n    * `is_template`: boolean\n    * `topics`: array of string\n    * `has_issues`: boolean\n    * `has_projects`: boolean\n    * `has_wiki`: boolean\n    * `has_pages`: boolean\n    * `has_discussions`: boolean\n    * `has_pull_requests`: boolean\n    * `pull_request_creation_policy`: string, enum: `all`, `collaborators_only`\n    * `archived`: boolean\n    * `disabled`: boolean\n    * `visibility`: string\n    * `pushed_at`: string or null, format: date-time\n    * `created_at`: string or null, format: date-time\n    * `updated_at`: string or null, format: date-time\n    * `permissions`: object:\n      * `admin`: boolean\n      * `maintain`: boolean\n      * `push`: boolean\n      * `triage`: boolean\n      * `pull`: boolean\n    * `role_name`: string\n    * `temp_clone_token`: string\n    * `delete_branch_on_merge`: boolean\n    * `subscribers_count`: integer\n    * `network_count`: integer\n    * `code_of_conduct`: `Code Of Conduct`:\n      * `key`: required, string\n      * `name`: required, string\n      * `url`: required, string, format: uri\n      * `body`: string\n      * `html_url`: required, string or null, format: uri\n    * `license`: object or null:\n      * `key`: string\n      * `name`: string\n      * `spdx_id`: string\n      * `url`: string or null\n      * `node_id`: string\n    * `forks`: integer\n    * `open_issues`: integer\n    * `watchers`: integer\n    * `allow_forking`: boolean\n    * `web_commit_signoff_required`: boolean\n    * `security_and_analysis`: object or null:\n      * `advanced_security`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `code_security`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `dependabot_security_updates`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_push_protection`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_non_provider_patterns`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_ai_detection`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_delegated_alert_dismissal`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_delegated_bypass`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_delegated_bypass_options`: object:\n        * `reviewers`: array of object\n    * `custom_properties`: object, additional properties allowed\n  * `head_repository`: required, `Minimal Repository`:\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `name`: required, string\n    * `full_name`: required, string\n    * `owner`: required, `Simple User`:\n      * `name`: string or null\n      * `email`: string or null\n      * `login`: required, string\n      * `id`: required, integer, format: int64\n      * `node_id`: required, string\n      * `avatar_url`: required, string, format: uri\n      * `gravatar_id`: required, string or null\n      * `url`: required, string, format: uri\n      * `html_url`: required, string, format: uri\n      * `followers_url`: required, string, format: uri\n      * `following_url`: required, string\n      * `gists_url`: required, string\n      * `starred_url`: required, string\n      * `subscriptions_url`: required, string, format: uri\n      * `organizations_url`: required, string, format: uri\n      * `repos_url`: required, string, format: uri\n      * `events_url`: required, string\n      * `received_events_url`: required, string, format: uri\n      * `type`: required, string\n      * `site_admin`: required, boolean\n      * `starred_at`: string\n      * `user_view_type`: string\n    * `private`: required, boolean\n    * `html_url`: required, string, format: uri\n    * `description`: required, string or null\n    * `fork`: required, boolean\n    * `url`: required, string, format: uri\n    * `archive_url`: required, string\n    * `assignees_url`: required, string\n    * `blobs_url`: required, string\n    * `branches_url`: required, string\n    * `collaborators_url`: required, string\n    * `comments_url`: required, string\n    * `commits_url`: required, string\n    * `compare_url`: required, string\n    * `contents_url`: required, string\n    * `contributors_url`: required, string, format: uri\n    * `deployments_url`: required, string, format: uri\n    * `downloads_url`: required, string, format: uri\n    * `events_url`: required, string, format: uri\n    * `forks_url`: required, string, format: uri\n    * `git_commits_url`: required, string\n    * `git_refs_url`: required, string\n    * `git_tags_url`: required, string\n    * `git_url`: string\n    * `issue_comment_url`: required, string\n    * `issue_events_url`: required, string\n    * `issues_url`: required, string\n    * `keys_url`: required, string\n    * `labels_url`: required, string\n    * `languages_url`: required, string, format: uri\n    * `merges_url`: required, string, format: uri\n    * `milestones_url`: required, string\n    * `notifications_url`: required, string\n    * `pulls_url`: required, string\n    * `releases_url`: required, string\n    * `ssh_url`: string\n    * `stargazers_url`: required, string, format: uri\n    * `statuses_url`: required, string\n    * `subscribers_url`: required, string, format: uri\n    * `subscription_url`: required, string, format: uri\n    * `tags_url`: required, string, format: uri\n    * `teams_url`: required, string, format: uri\n    * `trees_url`: required, string\n    * `clone_url`: string\n    * `mirror_url`: string or null\n    * `hooks_url`: required, string, format: uri\n    * `svn_url`: string\n    * `homepage`: string or null\n    * `language`: string or null\n    * `forks_count`: integer\n    * `stargazers_count`: integer\n    * `watchers_count`: integer\n    * `size`: integer\n    * `default_branch`: string\n    * `open_issues_count`: integer\n    * `is_template`: boolean\n    * `topics`: array of string\n    * `has_issues`: boolean\n    * `has_projects`: boolean\n    * `has_wiki`: boolean\n    * `has_pages`: boolean\n    * `has_discussions`: boolean\n    * `has_pull_requests`: boolean\n    * `pull_request_creation_policy`: string, enum: `all`, `collaborators_only`\n    * `archived`: boolean\n    * `disabled`: boolean\n    * `visibility`: string\n    * `pushed_at`: string or null, format: date-time\n    * `created_at`: string or null, format: date-time\n    * `updated_at`: string or null, format: date-time\n    * `permissions`: object:\n      * `admin`: boolean\n      * `maintain`: boolean\n      * `push`: boolean\n      * `triage`: boolean\n      * `pull`: boolean\n    * `role_name`: string\n    * `temp_clone_token`: string\n    * `delete_branch_on_merge`: boolean\n    * `subscribers_count`: integer\n    * `network_count`: integer\n    * `code_of_conduct`: `Code Of Conduct`:\n      * `key`: required, string\n      * `name`: required, string\n      * `url`: required, string, format: uri\n      * `body`: string\n      * `html_url`: required, string or null, format: uri\n    * `license`: object or null:\n      * `key`: string\n      * `name`: string\n      * `spdx_id`: string\n      * `url`: string or null\n      * `node_id`: string\n    * `forks`: integer\n    * `open_issues`: integer\n    * `watchers`: integer\n    * `allow_forking`: boolean\n    * `web_commit_signoff_required`: boolean\n    * `security_and_analysis`: object or null:\n      * `advanced_security`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `code_security`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `dependabot_security_updates`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_push_protection`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_non_provider_patterns`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_ai_detection`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_delegated_alert_dismissal`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_delegated_bypass`: object:\n        * `status`: string, enum: `enabled`, `disabled`\n      * `secret_scanning_delegated_bypass_options`: object:\n        * `reviewers`: array of object\n    * `custom_properties`: object, additional properties allowed\n  * `head_repository_id`: integer\n  * `display_title`: required, string\n\n## Get a workflow run\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}\n```\n\nGets a specific workflow run.\nAnyone with read access to the repository can use this endpoint.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n* **`exclude_pull_requests`** (boolean)\n  If true pull requests are omitted from the response (empty array).\n  Default: `false`\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID\n```\n\n**Response schema (Status: 200):**\n\n* `id`: required, integer\n* `name`: string or null\n* `node_id`: required, string\n* `check_suite_id`: integer\n* `check_suite_node_id`: string\n* `head_branch`: required, string or null\n* `head_sha`: required, string\n* `path`: required, string\n* `run_number`: required, integer\n* `run_attempt`: integer\n* `referenced_workflows`: array of `Referenced workflow` or null:\n  * `path`: required, string\n  * `sha`: required, string\n  * `ref`: string\n* `event`: required, string\n* `status`: required, string or null\n* `conclusion`: required, string or null\n* `workflow_id`: required, integer\n* `url`: required, string\n* `html_url`: required, string\n* `pull_requests`: required, array of `Pull Request Minimal` or null:\n  * `id`: required, integer, format: int64\n  * `number`: required, integer\n  * `url`: required, string\n  * `head`: required, object:\n    * `ref`: required, string\n    * `sha`: required, string\n    * `repo`: required, object:\n      * `id`: required, integer, format: int64\n      * `url`: required, string\n      * `name`: required, string\n  * `base`: required, object:\n    * `ref`: required, string\n    * `sha`: required, string\n    * `repo`: required, object:\n      * `id`: required, integer, format: int64\n      * `url`: required, string\n      * `name`: required, string\n* `created_at`: required, string, format: date-time\n* `updated_at`: required, string, format: date-time\n* `actor`: `Simple User`:\n  * `name`: string or null\n  * `email`: string or null\n  * `login`: required, string\n  * `id`: required, integer, format: int64\n  * `node_id`: required, string\n  * `avatar_url`: required, string, format: uri\n  * `gravatar_id`: required, string or null\n  * `url`: required, string, format: uri\n  * `html_url`: required, string, format: uri\n  * `followers_url`: required, string, format: uri\n  * `following_url`: required, string\n  * `gists_url`: required, string\n  * `starred_url`: required, string\n  * `subscriptions_url`: required, string, format: uri\n  * `organizations_url`: required, string, format: uri\n  * `repos_url`: required, string, format: uri\n  * `events_url`: required, string\n  * `received_events_url`: required, string, format: uri\n  * `type`: required, string\n  * `site_admin`: required, boolean\n  * `starred_at`: string\n  * `user_view_type`: string\n* `triggering_actor`: `Simple User`:\n  * `name`: string or null\n  * `email`: string or null\n  * `login`: required, string\n  * `id`: required, integer, format: int64\n  * `node_id`: required, string\n  * `avatar_url`: required, string, format: uri\n  * `gravatar_id`: required, string or null\n  * `url`: required, string, format: uri\n  * `html_url`: required, string, format: uri\n  * `followers_url`: required, string, format: uri\n  * `following_url`: required, string\n  * `gists_url`: required, string\n  * `starred_url`: required, string\n  * `subscriptions_url`: required, string, format: uri\n  * `organizations_url`: required, string, format: uri\n  * `repos_url`: required, string, format: uri\n  * `events_url`: required, string\n  * `received_events_url`: required, string, format: uri\n  * `type`: required, string\n  * `site_admin`: required, boolean\n  * `starred_at`: string\n  * `user_view_type`: string\n* `run_started_at`: string, format: date-time\n* `jobs_url`: required, string\n* `logs_url`: required, string\n* `check_suite_url`: required, string\n* `artifacts_url`: required, string\n* `cancel_url`: required, string\n* `rerun_url`: required, string\n* `previous_attempt_url`: string or null\n* `workflow_url`: required, string\n* `head_commit`: required, any of:\n  * **null**\n  * **Simple Commit**\n    * `id`: required, string\n    * `tree_id`: required, string\n    * `message`: required, string\n    * `timestamp`: required, string, format: date-time\n    * `author`: required, object or null:\n      * `name`: required, string\n      * `email`: required, string, format: email\n    * `committer`: required, object or null:\n      * `name`: required, string\n      * `email`: required, string, format: email\n* `repository`: required, `Minimal Repository`:\n  * `id`: required, integer, format: int64\n  * `node_id`: required, string\n  * `name`: required, string\n  * `full_name`: required, string\n  * `owner`: required, `Simple User`:\n    * `name`: string or null\n    * `email`: string or null\n    * `login`: required, string\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `avatar_url`: required, string, format: uri\n    * `gravatar_id`: required, string or null\n    * `url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `followers_url`: required, string, format: uri\n    * `following_url`: required, string\n    * `gists_url`: required, string\n    * `starred_url`: required, string\n    * `subscriptions_url`: required, string, format: uri\n    * `organizations_url`: required, string, format: uri\n    * `repos_url`: required, string, format: uri\n    * `events_url`: required, string\n    * `received_events_url`: required, string, format: uri\n    * `type`: required, string\n    * `site_admin`: required, boolean\n    * `starred_at`: string\n    * `user_view_type`: string\n  * `private`: required, boolean\n  * `html_url`: required, string, format: uri\n  * `description`: required, string or null\n  * `fork`: required, boolean\n  * `url`: required, string, format: uri\n  * `archive_url`: required, string\n  * `assignees_url`: required, string\n  * `blobs_url`: required, string\n  * `branches_url`: required, string\n  * `collaborators_url`: required, string\n  * `comments_url`: required, string\n  * `commits_url`: required, string\n  * `compare_url`: required, string\n  * `contents_url`: required, string\n  * `contributors_url`: required, string, format: uri\n  * `deployments_url`: required, string, format: uri\n  * `downloads_url`: required, string, format: uri\n  * `events_url`: required, string, format: uri\n  * `forks_url`: required, string, format: uri\n  * `git_commits_url`: required, string\n  * `git_refs_url`: required, string\n  * `git_tags_url`: required, string\n  * `git_url`: string\n  * `issue_comment_url`: required, string\n  * `issue_events_url`: required, string\n  * `issues_url`: required, string\n  * `keys_url`: required, string\n  * `labels_url`: required, string\n  * `languages_url`: required, string, format: uri\n  * `merges_url`: required, string, format: uri\n  * `milestones_url`: required, string\n  * `notifications_url`: required, string\n  * `pulls_url`: required, string\n  * `releases_url`: required, string\n  * `ssh_url`: string\n  * `stargazers_url`: required, string, format: uri\n  * `statuses_url`: required, string\n  * `subscribers_url`: required, string, format: uri\n  * `subscription_url`: required, string, format: uri\n  * `tags_url`: required, string, format: uri\n  * `teams_url`: required, string, format: uri\n  * `trees_url`: required, string\n  * `clone_url`: string\n  * `mirror_url`: string or null\n  * `hooks_url`: required, string, format: uri\n  * `svn_url`: string\n  * `homepage`: string or null\n  * `language`: string or null\n  * `forks_count`: integer\n  * `stargazers_count`: integer\n  * `watchers_count`: integer\n  * `size`: integer\n  * `default_branch`: string\n  * `open_issues_count`: integer\n  * `is_template`: boolean\n  * `topics`: array of string\n  * `has_issues`: boolean\n  * `has_projects`: boolean\n  * `has_wiki`: boolean\n  * `has_pages`: boolean\n  * `has_discussions`: boolean\n  * `has_pull_requests`: boolean\n  * `pull_request_creation_policy`: string, enum: `all`, `collaborators_only`\n  * `archived`: boolean\n  * `disabled`: boolean\n  * `visibility`: string\n  * `pushed_at`: string or null, format: date-time\n  * `created_at`: string or null, format: date-time\n  * `updated_at`: string or null, format: date-time\n  * `permissions`: object:\n    * `admin`: boolean\n    * `maintain`: boolean\n    * `push`: boolean\n    * `triage`: boolean\n    * `pull`: boolean\n  * `role_name`: string\n  * `temp_clone_token`: string\n  * `delete_branch_on_merge`: boolean\n  * `subscribers_count`: integer\n  * `network_count`: integer\n  * `code_of_conduct`: `Code Of Conduct`:\n    * `key`: required, string\n    * `name`: required, string\n    * `url`: required, string, format: uri\n    * `body`: string\n    * `html_url`: required, string or null, format: uri\n  * `license`: object or null:\n    * `key`: string\n    * `name`: string\n    * `spdx_id`: string\n    * `url`: string or null\n    * `node_id`: string\n  * `forks`: integer\n  * `open_issues`: integer\n  * `watchers`: integer\n  * `allow_forking`: boolean\n  * `web_commit_signoff_required`: boolean\n  * `security_and_analysis`: object or null:\n    * `advanced_security`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `code_security`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `dependabot_security_updates`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_push_protection`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_non_provider_patterns`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_ai_detection`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_delegated_alert_dismissal`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_delegated_bypass`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_delegated_bypass_options`: object:\n      * `reviewers`: array of objects:\n        * `reviewer_id`: required, integer\n        * `reviewer_type`: required, string, enum: `TEAM`, `ROLE`\n        * `mode`: string, enum: `ALWAYS`, `EXEMPT`, default: `\"ALWAYS\"`\n  * `custom_properties`: object, additional properties allowed\n* `head_repository`: required, `Minimal Repository`:\n  * `id`: required, integer, format: int64\n  * `node_id`: required, string\n  * `name`: required, string\n  * `full_name`: required, string\n  * `owner`: required, `Simple User`:\n    * `name`: string or null\n    * `email`: string or null\n    * `login`: required, string\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `avatar_url`: required, string, format: uri\n    * `gravatar_id`: required, string or null\n    * `url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `followers_url`: required, string, format: uri\n    * `following_url`: required, string\n    * `gists_url`: required, string\n    * `starred_url`: required, string\n    * `subscriptions_url`: required, string, format: uri\n    * `organizations_url`: required, string, format: uri\n    * `repos_url`: required, string, format: uri\n    * `events_url`: required, string\n    * `received_events_url`: required, string, format: uri\n    * `type`: required, string\n    * `site_admin`: required, boolean\n    * `starred_at`: string\n    * `user_view_type`: string\n  * `private`: required, boolean\n  * `html_url`: required, string, format: uri\n  * `description`: required, string or null\n  * `fork`: required, boolean\n  * `url`: required, string, format: uri\n  * `archive_url`: required, string\n  * `assignees_url`: required, string\n  * `blobs_url`: required, string\n  * `branches_url`: required, string\n  * `collaborators_url`: required, string\n  * `comments_url`: required, string\n  * `commits_url`: required, string\n  * `compare_url`: required, string\n  * `contents_url`: required, string\n  * `contributors_url`: required, string, format: uri\n  * `deployments_url`: required, string, format: uri\n  * `downloads_url`: required, string, format: uri\n  * `events_url`: required, string, format: uri\n  * `forks_url`: required, string, format: uri\n  * `git_commits_url`: required, string\n  * `git_refs_url`: required, string\n  * `git_tags_url`: required, string\n  * `git_url`: string\n  * `issue_comment_url`: required, string\n  * `issue_events_url`: required, string\n  * `issues_url`: required, string\n  * `keys_url`: required, string\n  * `labels_url`: required, string\n  * `languages_url`: required, string, format: uri\n  * `merges_url`: required, string, format: uri\n  * `milestones_url`: required, string\n  * `notifications_url`: required, string\n  * `pulls_url`: required, string\n  * `releases_url`: required, string\n  * `ssh_url`: string\n  * `stargazers_url`: required, string, format: uri\n  * `statuses_url`: required, string\n  * `subscribers_url`: required, string, format: uri\n  * `subscription_url`: required, string, format: uri\n  * `tags_url`: required, string, format: uri\n  * `teams_url`: required, string, format: uri\n  * `trees_url`: required, string\n  * `clone_url`: string\n  * `mirror_url`: string or null\n  * `hooks_url`: required, string, format: uri\n  * `svn_url`: string\n  * `homepage`: string or null\n  * `language`: string or null\n  * `forks_count`: integer\n  * `stargazers_count`: integer\n  * `watchers_count`: integer\n  * `size`: integer\n  * `default_branch`: string\n  * `open_issues_count`: integer\n  * `is_template`: boolean\n  * `topics`: array of string\n  * `has_issues`: boolean\n  * `has_projects`: boolean\n  * `has_wiki`: boolean\n  * `has_pages`: boolean\n  * `has_discussions`: boolean\n  * `has_pull_requests`: boolean\n  * `pull_request_creation_policy`: string, enum: `all`, `collaborators_only`\n  * `archived`: boolean\n  * `disabled`: boolean\n  * `visibility`: string\n  * `pushed_at`: string or null, format: date-time\n  * `created_at`: string or null, format: date-time\n  * `updated_at`: string or null, format: date-time\n  * `permissions`: object:\n    * `admin`: boolean\n    * `maintain`: boolean\n    * `push`: boolean\n    * `triage`: boolean\n    * `pull`: boolean\n  * `role_name`: string\n  * `temp_clone_token`: string\n  * `delete_branch_on_merge`: boolean\n  * `subscribers_count`: integer\n  * `network_count`: integer\n  * `code_of_conduct`: `Code Of Conduct`:\n    * `key`: required, string\n    * `name`: required, string\n    * `url`: required, string, format: uri\n    * `body`: string\n    * `html_url`: required, string or null, format: uri\n  * `license`: object or null:\n    * `key`: string\n    * `name`: string\n    * `spdx_id`: string\n    * `url`: string or null\n    * `node_id`: string\n  * `forks`: integer\n  * `open_issues`: integer\n  * `watchers`: integer\n  * `allow_forking`: boolean\n  * `web_commit_signoff_required`: boolean\n  * `security_and_analysis`: object or null:\n    * `advanced_security`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `code_security`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `dependabot_security_updates`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_push_protection`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_non_provider_patterns`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_ai_detection`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_delegated_alert_dismissal`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_delegated_bypass`: object:\n      * `status`: string, enum: `enabled`, `disabled`\n    * `secret_scanning_delegated_bypass_options`: object:\n      * `reviewers`: array of objects:\n        * `reviewer_id`: required, integer\n        * `reviewer_type`: required, string, enum: `TEAM`, `ROLE`\n        * `mode`: string, enum: `ALWAYS`, `EXEMPT`, default: `\"ALWAYS\"`\n  * `custom_properties`: object, additional properties allowed\n* `head_repository_id`: integer\n* `display_title`: required, string\n\n## Delete a workflow run\n\n```\nDELETE /repos/{owner}/{repo}/actions/runs/{run_id}\n```\n\nDeletes a specific workflow run.\nAnyone with write access to the repository can use this endpoint.\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **204** - No Content\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X DELETE \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID\n```\n\n**Response schema (Status: 204):**\n\n## Get the review history for a workflow run\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals\n```\n\nAnyone with read access to the repository can use this endpoint.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/approvals\n```\n\n**Response schema (Status: 200):**\n\nArray of `Environment Approval`:\n\n* `environments`: required, array of objects:\n  * `id`: integer\n  * `node_id`: string\n  * `name`: string\n  * `url`: string\n  * `html_url`: string\n  * `created_at`: string, format: date-time\n  * `updated_at`: string, format: date-time\n* `state`: required, string, enum: `approved`, `rejected`, `pending`\n* `user`: required, `Simple User`:\n  * `name`: string or null\n  * `email`: string or null\n  * `login`: required, string\n  * `id`: required, integer, format: int64\n  * `node_id`: required, string\n  * `avatar_url`: required, string, format: uri\n  * `gravatar_id`: required, string or null\n  * `url`: required, string, format: uri\n  * `html_url`: required, string, format: uri\n  * `followers_url`: required, string, format: uri\n  * `following_url`: required, string\n  * `gists_url`: required, string\n  * `starred_url`: required, string\n  * `subscriptions_url`: required, string, format: uri\n  * `organizations_url`: required, string, format: uri\n  * `repos_url`: required, string, format: uri\n  * `events_url`: required, string\n  * `received_events_url`: required, string, format: uri\n  * `type`: required, string\n  * `site_admin`: required, boolean\n  * `starred_at`: string\n  * `user_view_type`: string\n* `comment`: required, string\n\n## Approve a workflow run for a fork pull request\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/approve\n```\n\nApproves a workflow run for a pull request from a public fork of a first time contributor. For more information, see \"Approving workflow runs from public forks.\"\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **201** - Created\n\n* **403** - Forbidden\n\n* **404** - Resource not found\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/approve\n```\n\n**Response schema (Status: 201):**\n\n## Get a workflow run attempt\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}\n```\n\nGets a specific workflow run attempt.\nAnyone with read access to the repository can use this endpoint.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n* **`attempt_number`** (integer) (required)\n  The attempt number of the workflow run.\n\n* **`exclude_pull_requests`** (boolean)\n  If true pull requests are omitted from the response (empty array).\n  Default: `false`\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/attempts/ATTEMPT_NUMBER\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [Get a workflow run](#get-a-workflow-run).\n\n## Download workflow run attempt logs\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs\n```\n\nGets a redirect URL to download an archive of log files for a specific workflow run attempt. This link expires after\n1 minute. Look for Location: in the response header to find the URL for the download.\nAnyone with read access to the repository can use this endpoint.\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n* **`attempt_number`** (integer) (required)\n  The attempt number of the workflow run.\n\n### HTTP response status codes\n\n* **302** - Found\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/attempts/ATTEMPT_NUMBER/logs\n```\n\n**Response schema (Status: 302):**\n\n## Cancel a workflow run\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel\n```\n\nCancels a workflow run using its id.\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **202** - Accepted\n\n* **409** - Conflict\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/cancel\n```\n\n**Response schema (Status: 202):**\n\n## Review custom deployment protection rules for a workflow run\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule\n```\n\nApprove or reject custom deployment protection rules provided by a GitHub App for a workflow run. For more information, see \"Using environments for deployment.\"\nNote\n\nGitHub Apps can only review their own custom deployment protection rules. To approve or reject pending deployments that are waiting for review from a specific person or team, see POST /repos/{owner}/{repo}/actions/runs/{run\\_id}/pending\\_deployments.\n\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **204** - No Content\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/deployment_protection_rule \\\n  -d '{\n  \"environment_name\": \"prod-eus\",\n  \"state\": \"approved\",\n  \"comment\": \"All health checks passed.\"\n}'\n```\n\n**Response schema (Status: 204):**\n\n## Force cancel a workflow run\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel\n```\n\nCancels a workflow run and bypasses conditions that would otherwise cause a workflow execution to continue, such as an always() condition on a job.\nYou should only use this endpoint to cancel a workflow run when the workflow run is not responding to POST /repos/{owner}/{repo}/actions/runs/{run\\_id}/cancel.\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **202** - Accepted\n\n* **409** - Conflict\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/force-cancel\n```\n\n**Response schema (Status: 202):**\n\n## Download workflow run logs\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}/logs\n```\n\nGets a redirect URL to download an archive of log files for a workflow run. This link expires after 1 minute. Look for\nLocation: in the response header to find the URL for the download.\nAnyone with read access to the repository can use this endpoint.\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **302** - Found\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/logs\n```\n\n**Response schema (Status: 302):**\n\n## Delete workflow run logs\n\n```\nDELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs\n```\n\nDeletes all logs for a workflow run.\nOAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **204** - No Content\n\n* **403** - Forbidden\n\n* **500** - Internal Error\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X DELETE \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/logs\n```\n\n**Response schema (Status: 204):**\n\n## Get pending deployments for a workflow run\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\n```\n\nGet all deployment environments for a workflow run that are waiting for protection rules to pass.\nAnyone with read access to the repository can use this endpoint.\nIf the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/pending_deployments\n```\n\n**Response schema (Status: 200):**\n\nArray of `Pending Deployment`:\n\n* `environment`: required, object:\n  * `id`: integer, format: int64\n  * `node_id`: string\n  * `name`: string\n  * `url`: string\n  * `html_url`: string\n* `wait_timer`: required, integer\n* `wait_timer_started_at`: required, string or null, format: date-time\n* `current_user_can_approve`: required, boolean\n* `reviewers`: required, array of objects:\n  * `type`: string, enum: `User`, `Team`\n  * `reviewer`: any of:\n    * **Simple User**\n      * `name`: string or null\n      * `email`: string or null\n      * `login`: required, string\n      * `id`: required, integer, format: int64\n      * `node_id`: required, string\n      * `avatar_url`: required, string, format: uri\n      * `gravatar_id`: required, string or null\n      * `url`: required, string, format: uri\n      * `html_url`: required, string, format: uri\n      * `followers_url`: required, string, format: uri\n      * `following_url`: required, string\n      * `gists_url`: required, string\n      * `starred_url`: required, string\n      * `subscriptions_url`: required, string, format: uri\n      * `organizations_url`: required, string, format: uri\n      * `repos_url`: required, string, format: uri\n      * `events_url`: required, string\n      * `received_events_url`: required, string, format: uri\n      * `type`: required, string\n      * `site_admin`: required, boolean\n      * `starred_at`: string\n      * `user_view_type`: string\n    * **Team**\n      * `id`: required, integer\n      * `node_id`: required, string\n      * `name`: required, string\n      * `slug`: required, string\n      * `description`: required, string or null\n      * `privacy`: string\n      * `notification_setting`: string\n      * `permission`: required, string\n      * `permissions`: object:\n        * `pull`: required, boolean\n        * `triage`: required, boolean\n        * `push`: required, boolean\n        * `maintain`: required, boolean\n        * `admin`: required, boolean\n      * `url`: required, string, format: uri\n      * `html_url`: required, string, format: uri\n      * `members_url`: required, string\n      * `repositories_url`: required, string, format: uri\n      * `type`: required, string, enum: `enterprise`, `organization`\n      * `organization_id`: integer\n      * `enterprise_id`: integer\n      * `parent`: required, any of:\n        * **null**\n        * **Team Simple**\n          * `id`: required, integer\n          * `node_id`: required, string\n          * `url`: required, string, format: uri\n          * `members_url`: required, string\n          * `name`: required, string\n          * `description`: required, string or null\n          * `permission`: required, string\n          * `privacy`: string\n          * `notification_setting`: string\n          * `html_url`: required, string, format: uri\n          * `repositories_url`: required, string, format: uri\n          * `slug`: required, string\n          * `ldap_dn`: string\n          * `type`: required, string, enum: `enterprise`, `organization`\n          * `organization_id`: integer\n          * `enterprise_id`: integer\n\n## Review pending deployments for a workflow run\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments\n```\n\nApprove or reject pending deployments that are waiting on approval by a required reviewer.\nRequired reviewers with read access to the repository contents and deployments can use this endpoint.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n#### Body parameters\n\n* **`environment_ids`** (array of integers) (required)\n  The list of environment ids to approve or reject\n\n* **`state`** (string) (required)\n  Whether to approve or reject deployment to the specified environments.\n  Can be one of: `approved`, `rejected`\n\n* **`comment`** (string) (required)\n  A comment to accompany the deployment review\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/pending_deployments \\\n  -d '{\n  \"environment_ids\": [\n    161171787\n  ],\n  \"state\": \"approved\",\n  \"comment\": \"Ship it!\"\n}'\n```\n\n**Response schema (Status: 200):**\n\nArray of `Deployment`:\n\n* `url`: required, string, format: uri\n* `id`: required, integer, format: int64\n* `node_id`: required, string\n* `sha`: required, string\n* `ref`: required, string\n* `task`: required, string\n* `payload`: required, one of:\n  * **object, additional properties allowed**\n  * **string**\n* `original_environment`: string\n* `environment`: required, string\n* `description`: required, string or null\n* `creator`: required, any of:\n  * **null**\n  * **Simple User**\n    * `name`: string or null\n    * `email`: string or null\n    * `login`: required, string\n    * `id`: required, integer, format: int64\n    * `node_id`: required, string\n    * `avatar_url`: required, string, format: uri\n    * `gravatar_id`: required, string or null\n    * `url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `followers_url`: required, string, format: uri\n    * `following_url`: required, string\n    * `gists_url`: required, string\n    * `starred_url`: required, string\n    * `subscriptions_url`: required, string, format: uri\n    * `organizations_url`: required, string, format: uri\n    * `repos_url`: required, string, format: uri\n    * `events_url`: required, string\n    * `received_events_url`: required, string, format: uri\n    * `type`: required, string\n    * `site_admin`: required, boolean\n    * `starred_at`: string\n    * `user_view_type`: string\n* `created_at`: required, string, format: date-time\n* `updated_at`: required, string, format: date-time\n* `statuses_url`: required, string, format: uri\n* `repository_url`: required, string, format: uri\n* `transient_environment`: boolean\n* `production_environment`: boolean\n* `performed_via_github_app`: any of:\n  * **null**\n  * **GitHub app**\n    * `id`: required, integer\n    * `slug`: string\n    * `node_id`: required, string\n    * `client_id`: string\n    * `owner`: required, one of:\n      * **Simple User**\n        * `name`: string or null\n        * `email`: string or null\n        * `login`: required, string\n        * `id`: required, integer, format: int64\n        * `node_id`: required, string\n        * `avatar_url`: required, string, format: uri\n        * `gravatar_id`: required, string or null\n        * `url`: required, string, format: uri\n        * `html_url`: required, string, format: uri\n        * `followers_url`: required, string, format: uri\n        * `following_url`: required, string\n        * `gists_url`: required, string\n        * `starred_url`: required, string\n        * `subscriptions_url`: required, string, format: uri\n        * `organizations_url`: required, string, format: uri\n        * `repos_url`: required, string, format: uri\n        * `events_url`: required, string\n        * `received_events_url`: required, string, format: uri\n        * `type`: required, string\n        * `site_admin`: required, boolean\n        * `starred_at`: string\n        * `user_view_type`: string\n      * **Enterprise**\n        * `description`: string or null\n        * `html_url`: required, string, format: uri\n        * `website_url`: string or null, format: uri\n        * `id`: required, integer\n        * `node_id`: required, string\n        * `name`: required, string\n        * `slug`: required, string\n        * `created_at`: required, string or null, format: date-time\n        * `updated_at`: required, string or null, format: date-time\n        * `avatar_url`: required, string, format: uri\n    * `name`: required, string\n    * `description`: required, string or null\n    * `external_url`: required, string, format: uri\n    * `html_url`: required, string, format: uri\n    * `created_at`: required, string, format: date-time\n    * `updated_at`: required, string, format: date-time\n    * `permissions`: required, object, additional properties: string:\n      * `issues`: string\n      * `checks`: string\n      * `metadata`: string\n      * `contents`: string\n      * `deployments`: string\n    * `events`: required, array of string\n    * `installations_count`: integer\n\n## Re-run a workflow\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun\n```\n\nRe-runs your workflow run using its id.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n#### Body parameters\n\n* **`enable_debug_logging`** (boolean)\n  Whether to enable debug logging for the re-run.\n  Default: `false`\n\n### HTTP response status codes\n\n* **201** - Created\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/rerun\n```\n\n**Response schema (Status: 201):**\n\n## Re-run failed jobs from a workflow run\n\n```\nPOST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs\n```\n\nRe-run all of the failed jobs and their dependent jobs in a workflow run using the id of the workflow run.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n#### Body parameters\n\n* **`enable_debug_logging`** (boolean)\n  Whether to enable debug logging for the re-run.\n  Default: `false`\n\n### HTTP response status codes\n\n* **201** - Created\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X POST \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/rerun-failed-jobs\n```\n\n**Response schema (Status: 201):**\n\n## Get workflow run usage\n\n```\nGET /repos/{owner}/{repo}/actions/runs/{run_id}/timing\n```\n\nWarning\n\nThis endpoint is in the process of closing down. Refer to \"Actions Get workflow usage and Get workflow run usage endpoints closing down\" for more information.\n\nGets the number of billable minutes and total run time for a specific workflow run. Billable minutes only apply to workflows in private repositories that use GitHub-hosted runners. Usage is listed for each GitHub-hosted runner operating system in milliseconds. Any job re-runs are also included in the usage. The usage does not include the multiplier for macOS and Windows runners and is not rounded up to the nearest whole minute. For more information, see \"Managing billing for GitHub Actions\".\nAnyone with read access to the repository can use this endpoint.\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`run_id`** (integer) (required)\n  The unique identifier of the workflow run.\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/timing\n```\n\n**Response schema (Status: 200):**\n\n* `billable`: required, object:\n  * `UBUNTU`: object:\n    * `total_ms`: required, integer\n    * `jobs`: required, integer\n    * `job_runs`: array of objects:\n      * `job_id`: required, integer\n      * `duration_ms`: required, integer\n  * `MACOS`: object:\n    * `total_ms`: required, integer\n    * `jobs`: required, integer\n    * `job_runs`: array of objects:\n      * `job_id`: required, integer\n      * `duration_ms`: required, integer\n  * `WINDOWS`: object:\n    * `total_ms`: required, integer\n    * `jobs`: required, integer\n    * `job_runs`: array of objects:\n      * `job_id`: required, integer\n      * `duration_ms`: required, integer\n* `run_duration_ms`: integer\n\n## List workflow runs for a workflow\n\n```\nGET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs\n```\n\nList all workflow runs for a workflow. You can replace workflow\\_id with the workflow file name. For example, you could use main.yaml. You can use parameters to narrow the list of results. For more information about using parameters, see Parameters.\nAnyone with read access to the repository can use this endpoint\nOAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.\nThis endpoint will return up to 1,000 results for each search when using the following parameters: actor, branch, check\\_suite\\_id, created, event, head\\_sha, status.\n\n### Parameters\n\n#### Headers\n\n* **`accept`** (string)\n  Setting to `application/vnd.github+json` is recommended.\n\n#### Path and query parameters\n\n* **`owner`** (string) (required)\n  The account owner of the repository. The name is not case sensitive.\n\n* **`repo`** (string) (required)\n  The name of the repository without the .git extension. The name is not case sensitive.\n\n* **`workflow_id`** (string) (required)\n  The ID of the workflow. You can also pass the workflow file name as a string.\n\n* **`actor`** (string)\n  Returns someone's workflow runs. Use the login for the user who created the push associated with the check suite or workflow run.\n\n* **`branch`** (string)\n  Returns workflow runs associated with a branch. Use the name of the branch of the push.\n\n* **`event`** (string)\n  Returns workflow run triggered by the event you specify. For example, push, pull\\_request or issue. For more information, see \"Events that trigger workflows.\"\n\n* **`status`** (string)\n  Returns workflow runs with the check run status or conclusion that you specify. For example, a conclusion can be success or a status can be in\\_progress. Only GitHub Actions can set a status of waiting, pending, or requested.\n  Can be one of: `completed`, `action_required`, `cancelled`, `failure`, `neutral`, `skipped`, `stale`, `success`, `timed_out`, `in_progress`, `queued`, `requested`, `waiting`, `pending`\n\n* **`per_page`** (integer)\n  The number of results per page (max 100). For more information, see \"Using pagination in the REST API.\"\n  Default: `30`\n\n* **`page`** (integer)\n  The page number of the results to fetch. For more information, see \"Using pagination in the REST API.\"\n  Default: `1`\n\n* **`created`** (string)\n  Returns workflow runs created within the given date-time range. For more information on the syntax, see \"Understanding the search syntax.\"\n\n* **`exclude_pull_requests`** (boolean)\n  If true pull requests are omitted from the response (empty array).\n  Default: `false`\n\n* **`check_suite_id`** (integer)\n  Returns workflow runs with the check\\_suite\\_id that you specify.\n\n* **`head_sha`** (string)\n  Only returns workflow runs that are associated with the specified head\\_sha.\n\n### HTTP response status codes\n\n* **200** - OK\n\n### Code examples\n\n#### Example\n\n**Request:**\n\n```curl\ncurl -L \\\n  -X GET \\\n  https://api.github.com/repos/OWNER/REPO/actions/workflows/WORKFLOW_ID/runs\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [List workflow runs for a repository](#list-workflow-runs-for-a-repository)."}