{"meta":{"title":"セルフホステッド ランナー グループの REST API エンドポイント","intro":"この REST API を使って、GitHub Actions のセルフホステッド ランナー グループを操作します。","product":"REST API","breadcrumbs":[{"href":"/ja/rest","title":"REST API"},{"href":"/ja/rest/actions","title":"アクション"},{"href":"/ja/rest/actions/self-hosted-runner-groups","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のセルフホステッド ランナーのグループを管理できます。 詳しくは、「[グループを使用してセルフホストランナーへのアクセスを管理する](/ja/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups)」をご覧ください。\n\nこのエンドポイントは、認証されたユーザー、OAuth apps、GitHub Apps で使用できます。 アクセス トークンには、プライベート リポジトリの [`repo` スコープ](/ja/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes)とパブリック リポジトリの [`public_repo` スコープ](/ja/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes)が必要です。 GitHub Apps には、リポジトリの `administration` アクセス許可、または Organization の `organization_self_hosted_runners` アクセス許可が必要です。 認証されたユーザーがこれらのエンドポイントを使うには、リポジトリまたは組織への管理者アクセス、または企業の `manage_runners:enterprise` スコープが必要です。\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## List self-hosted runner groups for an organization\n\n```\nGET /orgs/{org}/actions/runner-groups\n```\n\nLists all self-hosted runner groups configured in an organization and inherited from an enterprise.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\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* **`visible_to_repository`** (string)\n  Only return runner groups that are allowed to be used by this repository.\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/orgs/ORG/actions/runner-groups\n```\n\n**Response schema (Status: 200):**\n\n* `total_count`: required, number\n* `runner_groups`: required, array of objects:\n  * `id`: required, number\n  * `name`: required, string\n  * `visibility`: required, string\n  * `default`: required, boolean\n  * `selected_repositories_url`: string\n  * `runners_url`: required, string\n  * `hosted_runners_url`: string\n  * `network_configuration_id`: string\n  * `inherited`: required, boolean\n  * `inherited_allows_public_repositories`: boolean\n  * `allows_public_repositories`: required, boolean\n  * `workflow_restrictions_read_only`: boolean, default: `false`\n  * `restricted_to_workflows`: boolean, default: `false`\n  * `selected_workflows`: array of string\n\n## Create a self-hosted runner group for an organization\n\n```\nPOST /orgs/{org}/actions/runner-groups\n```\n\nCreates a new self-hosted runner group for an organization.\nOAuth tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n#### Body parameters\n\n* **`name`** (string) (required)\n  Name of the runner group.\n\n* **`visibility`** (string)\n  Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories.\n  Default: `all`\n  Can be one of: `selected`, `all`, `private`\n\n* **`selected_repository_ids`** (array of integers)\n  List of repository IDs that can access the runner group.\n\n* **`runners`** (array of integers)\n  List of runner IDs to add to the runner group.\n\n* **`allows_public_repositories`** (boolean)\n  Whether the runner group can be used by public repositories.\n  Default: `false`\n\n* **`restricted_to_workflows`** (boolean)\n  If true, the runner group will be restricted to running only the workflows specified in the selected\\_workflows array.\n  Default: `false`\n\n* **`selected_workflows`** (array of strings)\n  List of workflows the runner group should be allowed to run. This setting will be ignored unless restricted\\_to\\_workflows is set to true.\n\n* **`network_configuration_id`** (string)\n  The identifier of a hosted compute network configuration.\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/orgs/ORG/actions/runner-groups \\\n  -d '{\n  \"name\": \"Expensive hardware runners\",\n  \"visibility\": \"selected\",\n  \"selected_repository_ids\": [\n    32,\n    91\n  ],\n  \"runners\": [\n    9,\n    2\n  ]\n}'\n```\n\n**Response schema (Status: 201):**\n\n* `id`: required, number\n* `name`: required, string\n* `visibility`: required, string\n* `default`: required, boolean\n* `selected_repositories_url`: string\n* `runners_url`: required, string\n* `hosted_runners_url`: string\n* `network_configuration_id`: string\n* `inherited`: required, boolean\n* `inherited_allows_public_repositories`: boolean\n* `allows_public_repositories`: required, boolean\n* `workflow_restrictions_read_only`: boolean, default: `false`\n* `restricted_to_workflows`: boolean, default: `false`\n* `selected_workflows`: array of string\n\n## Get a self-hosted runner group for an organization\n\n```\nGET /orgs/{org}/actions/runner-groups/{runner_group_id}\n```\n\nGets a specific self-hosted runner group for an organization.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\n\n## Update a self-hosted runner group for an organization\n\n```\nPATCH /orgs/{org}/actions/runner-groups/{runner_group_id}\n```\n\nUpdates the name and visibility of a self-hosted runner group in an organization.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n#### Body parameters\n\n* **`name`** (string) (required)\n  Name of the runner group.\n\n* **`visibility`** (string)\n  Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.\n  Can be one of: `selected`, `all`, `private`\n\n* **`allows_public_repositories`** (boolean)\n  Whether the runner group can be used by public repositories.\n  Default: `false`\n\n* **`restricted_to_workflows`** (boolean)\n  If true, the runner group will be restricted to running only the workflows specified in the selected\\_workflows array.\n  Default: `false`\n\n* **`selected_workflows`** (array of strings)\n  List of workflows the runner group should be allowed to run. This setting will be ignored unless restricted\\_to\\_workflows is set to true.\n\n* **`network_configuration_id`** (string or null)\n  The identifier of a hosted compute network configuration.\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 PATCH \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID \\\n  -d '{\n  \"name\": \"Expensive hardware runners\",\n  \"visibility\": \"selected\"\n}'\n```\n\n**Response schema (Status: 200):**\n\nSame response schema as [Create a self-hosted runner group for an organization](#create-a-self-hosted-runner-group-for-an-organization).\n\n## Delete a self-hosted runner group from an organization\n\n```\nDELETE /orgs/{org}/actions/runner-groups/{runner_group_id}\n```\n\nDeletes a self-hosted runner group for an organization.\nOAuth tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID\n```\n\n**Response schema (Status: 204):**\n\n## List GitHub-hosted runners in a group for an organization\n\n```\nGET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners\n```\n\nLists the GitHub-hosted runners in an organization group.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\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### 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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/hosted-runners\n```\n\n**Response schema (Status: 200):**\n\n* `total_count`: required, number\n* `runners`: required, array of `GitHub-hosted hosted runner`:\n  * `id`: required, integer\n  * `name`: required, string\n  * `runner_group_id`: integer\n  * `image_details`: required, any of:\n    * **null**\n    * **GitHub-hosted runner image details.**\n      * `id`: required, string\n      * `size_gb`: required, integer\n      * `display_name`: required, string\n      * `source`: required, string, enum: `github`, `partner`, `custom`\n      * `version`: string\n  * `machine_size_details`: required, `Github-owned VM details.`:\n    * `id`: required, string\n    * `cpu_cores`: required, integer\n    * `memory_gb`: required, integer\n    * `storage_gb`: required, integer\n  * `status`: required, string, enum: `Ready`, `Provisioning`, `Shutdown`, `Deleting`, `Stuck`\n  * `platform`: required, string\n  * `maximum_runners`: integer, default: `10`\n  * `public_ip_enabled`: required, boolean\n  * `public_ips`: array of `Public IP for a GitHub-hosted larger runners.`:\n    * `enabled`: boolean\n    * `prefix`: string\n    * `length`: integer\n  * `last_active_on`: string or null, format: date-time\n  * `image_gen`: boolean\n\n## List repository access to a self-hosted runner group in an organization\n\n```\nGET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\n```\n\nLists the repositories with access to a self-hosted runner group configured in an organization.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\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* **`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### 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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories\n```\n\n**Response schema (Status: 200):**\n\n* `total_count`: required, number\n* `repositories`: required, array of `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\n## Set repository access for a self-hosted runner group in an organization\n\n```\nPUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories\n```\n\nReplaces the list of repositories that have access to a self-hosted runner group configured in an organization.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n#### Body parameters\n\n* **`selected_repository_ids`** (array of integers) (required)\n  List of repository IDs that can access the runner group.\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 PUT \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories \\\n  -d '{\n  \"selected_repository_ids\": [\n    32,\n    91\n  ]\n}'\n```\n\n**Response schema (Status: 204):**\n\n## Add repository access to a self-hosted runner group in an organization\n\n```\nPUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}\n```\n\nAdds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an organization.\"\nOAuth tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n* **`repository_id`** (integer) (required)\n  The unique identifier of the repository.\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 PUT \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories/REPOSITORY_ID\n```\n\n**Response schema (Status: 204):**\n\n## Remove repository access to a self-hosted runner group in an organization\n\n```\nDELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}\n```\n\nRemoves a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see \"Create a self-hosted runner group for an organization.\"\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n* **`repository_id`** (integer) (required)\n  The unique identifier of the repository.\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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories/REPOSITORY_ID\n```\n\n**Response schema (Status: 204):**\n\n## List self-hosted runners in a group for an organization\n\n```\nGET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\n```\n\nLists self-hosted runners that are in a specific organization group.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\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### 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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners\n```\n\n**Response schema (Status: 200):**\n\n* `total_count`: required, number\n* `runners`: required, array of `Self hosted runners`:\n  * `id`: required, integer\n  * `runner_group_id`: integer\n  * `name`: required, string\n  * `os`: required, string\n  * `status`: required, string\n  * `busy`: required, boolean\n  * `labels`: required, array of `Self hosted runner label`:\n    * `id`: integer\n    * `name`: required, string\n    * `type`: string, enum: `read-only`, `custom`\n  * `ephemeral`: boolean\n\n## Set self-hosted runners in a group for an organization\n\n```\nPUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners\n```\n\nReplaces the list of self-hosted runners that are part of an organization runner group.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n#### Body parameters\n\n* **`runners`** (array of integers) (required)\n  List of runner IDs to add to the runner group.\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 PUT \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners \\\n  -d '{\n  \"runners\": [\n    9,\n    2\n  ]\n}'\n```\n\n**Response schema (Status: 204):**\n\n## Add a self-hosted runner to a group for an organization\n\n```\nPUT /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}\n```\n\nAdds a self-hosted runner to a runner group configured in an organization.\nOAuth tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n* **`runner_id`** (integer) (required)\n  Unique identifier of the self-hosted runner.\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 PUT \\\n  https://api.github.com/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_ID\n```\n\n**Response schema (Status: 204):**\n\n## Remove a self-hosted runner from a group for an organization\n\n```\nDELETE /orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}\n```\n\nRemoves a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.\nOAuth app tokens and personal access tokens (classic) need the admin:org 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* **`org`** (string) (required)\n  The organization name. The name is not case sensitive.\n\n* **`runner_group_id`** (integer) (required)\n  Unique identifier of the self-hosted runner group.\n\n* **`runner_id`** (integer) (required)\n  Unique identifier of the self-hosted runner.\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/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_ID\n```\n\n**Response schema (Status: 204):**"}