セルフホステッド ランナー グループの REST API エンドポイント
この REST API を使って、GitHub Actions のセルフホステッド ランナー グループを操作します。
GitHub Actions
のセルフホステッド ランナー グループについて
この REST API を使うと、GitHub Actions のセルフホステッド ランナーのグループを管理できます。 詳しくは、「グループを使用してセルフホストランナーへのアクセスを管理する」をご覧ください。
このエンドポイントは、認証されたユーザー、OAuth apps、GitHub Apps で使用できます。 アクセス トークンには、プライベート リポジトリの repo スコープとパブリック リポジトリの public_repo スコープが必要です。 GitHub Apps には、リポジトリの administration アクセス許可、または Organization の organization_self_hosted_runners アクセス許可が必要です。 認証されたユーザーがこれらのエンドポイントを使うには、リポジトリまたは組織への管理者アクセス、または企業の manage_runners:enterprise スコープが必要です。
List self-hosted runner groups for an enterprise
Lists all self-hosted runner groups for an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "List self-hosted runner groups for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"List self-hosted runner groups for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
| 名前, タイプ, 説明 |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." デフォルト: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." デフォルト: |
visible_to_organization string Only return runner groups that are allowed to be used by this organization. |
HTTP response status codes for "List self-hosted runner groups for an enterprise"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "List self-hosted runner groups for an enterprise"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groupsResponse
Status: 200{
"total_count": 3,
"runner_groups": [
{
"id": 1,
"name": "Default",
"visibility": "all",
"default": true,
"runners_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner_groups/1/runners",
"allows_public_repositories": false,
"restricted_to_workflows": false,
"selected_workflows": [],
"workflow_restrictions_read_only": false
},
{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_organizations_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner_groups/2/organizations",
"runners_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner_groups/2/runners",
"allows_public_repositories": true,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
},
{
"id": 3,
"name": "expensive-hardware",
"visibility": "private",
"default": false,
"runners_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner_groups/3/runners",
"allows_public_repositories": true,
"restricted_to_workflows": false,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
]
}Create a self-hosted runner group for an enterprise
Creates a new self-hosted runner group for an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Create a self-hosted runner group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Create a self-hosted runner group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
| 名前, タイプ, 説明 |
|---|
name string 必須Name of the runner group. |
visibility string Visibility of a runner group. You can select all organizations or select individual organization. 次のいずれかにできます: |
selected_organization_ids array of integers List of organization IDs that can access the runner group. |
runners array of integers List of runner IDs to add to the runner group. |
allows_public_repositories boolean Whether the runner group can be used by デフォルト: |
restricted_to_workflows boolean If デフォルト: |
selected_workflows array of strings List of workflows the runner group should be allowed to run. This setting will be ignored unless |
HTTP response status codes for "Create a self-hosted runner group for an enterprise"
| Status code | 説明 |
|---|---|
201 | Created |
Code samples for "Create a self-hosted runner group for an enterprise"
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups \
-d '{"name":"Expensive hardware runners","visibility":"selected","selected_organization_ids":[32,91],"runners":[9,2]}'Response
Status: 201{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_organizations_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner-groups/2/organizations",
"runners_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner-groups/2/runners",
"allows_public_repositories": false,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}Get a self-hosted runner group for an enterprise
Gets a specific self-hosted runner group for an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Get a self-hosted runner group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Get a self-hosted runner group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
HTTP response status codes for "Get a self-hosted runner group for an enterprise"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "Get a self-hosted runner group for an enterprise"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_IDResponse
Status: 200{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_organizations_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner-groups/2/organizations",
"runners_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner-groups/2/runners",
"allows_public_repositories": false,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}Update a self-hosted runner group for an enterprise
Updates the name and visibility of a self-hosted runner group in an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Update a self-hosted runner group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Update a self-hosted runner group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
name string Name of the runner group. |
visibility string Visibility of a runner group. You can select all organizations or select individual organizations. デフォルト: 次のいずれかにできます: |
allows_public_repositories boolean Whether the runner group can be used by デフォルト: |
restricted_to_workflows boolean If デフォルト: |
selected_workflows array of strings List of workflows the runner group should be allowed to run. This setting will be ignored unless |
HTTP response status codes for "Update a self-hosted runner group for an enterprise"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "Update a self-hosted runner group for an enterprise"
Request example
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID \
-d '{"name":"Expensive hardware runners","visibility":"selected"}'Response
Status: 200{
"id": 2,
"name": "Expensive hardware runners",
"visibility": "selected",
"default": false,
"selected_organizations_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner-groups/2/organizations",
"runners_url": "https://HOSTNAME/enterprises/octo-corp/actions/runner-groups/2/runners",
"allows_public_repositories": true,
"restricted_to_workflows": false,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}Delete a self-hosted runner group from an enterprise
Deletes a self-hosted runner group for an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Delete a self-hosted runner group from an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Delete a self-hosted runner group from an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
HTTP response status codes for "Delete a self-hosted runner group from an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Delete a self-hosted runner group from an enterprise"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_IDResponse
Status: 204List organization access to a self-hosted runner group in an enterprise
Lists the organizations with access to a self-hosted runner group.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "List organization access to a self-hosted runner group in an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"List organization access to a self-hosted runner group in an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." デフォルト: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." デフォルト: |
HTTP response status codes for "List organization access to a self-hosted runner group in an enterprise"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "List organization access to a self-hosted runner group in an enterprise"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/organizationsResponse
Status: 200{
"total_count": 1,
"organizations": [
{
"login": "octocat",
"id": 161335,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"url": "https://HOSTNAME/orgs/octo-org",
"repos_url": "https://HOSTNAME/orgs/octo-org/repos",
"events_url": "https://HOSTNAME/orgs/octo-org/events",
"hooks_url": "https://HOSTNAME/orgs/octo-org/hooks",
"issues_url": "https://HOSTNAME/orgs/octo-org/issues",
"members_url": "https://HOSTNAME/orgs/octo-org/members{/member}",
"public_members_url": "https://HOSTNAME/orgs/octo-org/public_members{/member}",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization"
}
]
}Set organization access for a self-hosted runner group in an enterprise
Replaces the list of organizations that have access to a self-hosted runner configured in an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Set organization access for a self-hosted runner group in an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Set organization access for a self-hosted runner group in an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
selected_organization_ids array of integers 必須List of organization IDs that can access the runner group. |
HTTP response status codes for "Set organization access for a self-hosted runner group in an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Set organization access for a self-hosted runner group in an enterprise"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/organizations \
-d '{"selected_organization_ids":[32,91]}'Response
Status: 204Add organization access to a self-hosted runner group in an enterprise
Adds an organization to the list of selected organizations 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 enterprise."
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Add organization access to a self-hosted runner group in an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Add organization access to a self-hosted runner group in an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
org_id integer 必須The unique identifier of the organization. |
HTTP response status codes for "Add organization access to a self-hosted runner group in an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Add organization access to a self-hosted runner group in an enterprise"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/organizations/ORG_IDResponse
Status: 204Remove organization access to a self-hosted runner group in an enterprise
Removes an organization from the list of selected organizations 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 enterprise."
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Remove organization access to a self-hosted runner group in an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Remove organization access to a self-hosted runner group in an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
org_id integer 必須The unique identifier of the organization. |
HTTP response status codes for "Remove organization access to a self-hosted runner group in an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Remove organization access to a self-hosted runner group in an enterprise"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/organizations/ORG_IDResponse
Status: 204List self-hosted runners in a group for an enterprise
Lists the self-hosted runners that are in a specific enterprise group.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "List self-hosted runners in a group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"List self-hosted runners in a group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." デフォルト: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." デフォルト: |
HTTP response status codes for "List self-hosted runners in a group for an enterprise"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "List self-hosted runners in a group for an enterprise"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runnersResponse
Status: 200{
"total_count": 2,
"runners": [
{
"id": 23,
"name": "linux_runner",
"os": "linux",
"status": "online",
"busy": true,
"ephemeral": false,
"labels": [
{
"id": 5,
"name": "self-hosted",
"type": "read-only"
},
{
"id": 7,
"name": "X64",
"type": "read-only"
},
{
"id": 11,
"name": "Linux",
"type": "read-only"
}
]
},
{
"id": 24,
"name": "mac_runner",
"os": "macos",
"status": "offline",
"busy": false,
"ephemeral": false,
"labels": [
{
"id": 5,
"name": "self-hosted",
"type": "read-only"
},
{
"id": 7,
"name": "X64",
"type": "read-only"
},
{
"id": 20,
"name": "macOS",
"type": "read-only"
},
{
"id": 21,
"name": "no-gpu",
"type": "custom"
}
]
}
]
}Set self-hosted runners in a group for an enterprise
Replaces the list of self-hosted runners that are part of an enterprise runner group.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Set self-hosted runners in a group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Set self-hosted runners in a group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
runners array of integers 必須List of runner IDs to add to the runner group. |
HTTP response status codes for "Set self-hosted runners in a group for an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Set self-hosted runners in a group for an enterprise"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners \
-d '{"runners":[9,2]}'Response
Status: 204Add a self-hosted runner to a group for an enterprise
Adds a self-hosted runner to a runner group configured in an enterprise.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Add a self-hosted runner to a group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Add a self-hosted runner to a group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
runner_id integer 必須Unique identifier of the self-hosted runner. |
HTTP response status codes for "Add a self-hosted runner to a group for an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Add a self-hosted runner to a group for an enterprise"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_IDResponse
Status: 204Remove a self-hosted runner from a group for an enterprise
Removes a self-hosted runner from a group configured in an enterprise. The runner is then returned to the default group.
OAuth app tokens and personal access tokens (classic) need the manage_runners:enterprise scope to use this endpoint.
Fine-grained access tokens for "Remove a self-hosted runner from a group for an enterprise"
This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.
"Remove a self-hosted runner from a group for an enterprise" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
enterprise string 必須The slug version of the enterprise name. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
runner_id integer 必須Unique identifier of the self-hosted runner. |
HTTP response status codes for "Remove a self-hosted runner from a group for an enterprise"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Remove a self-hosted runner from a group for an enterprise"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/enterprises/ENTERPRISE/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_IDResponse
Status: 204List self-hosted runner groups for an organization
Lists all self-hosted runner groups configured in an organization and inherited from an enterprise.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "List self-hosted runner groups for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (read)
"List self-hosted runner groups for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
| 名前, タイプ, 説明 |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." デフォルト: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." デフォルト: |
visible_to_repository string Only return runner groups that are allowed to be used by this repository. |
HTTP response status codes for "List self-hosted runner groups for an organization"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "List self-hosted runner groups for an organization"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groupsResponse
Status: 200{
"total_count": 3,
"runner_groups": [
{
"id": 1,
"name": "Default",
"visibility": "all",
"default": true,
"runners_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/1/runners",
"inherited": false,
"allows_public_repositories": true,
"restricted_to_workflows": false,
"selected_workflows": [],
"workflow_restrictions_read_only": false
},
{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_repositories_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/2/repositories",
"runners_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/2/runners",
"inherited": true,
"allows_public_repositories": true,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": true
},
{
"id": 3,
"name": "expensive-hardware",
"visibility": "private",
"default": false,
"runners_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/3/runners",
"inherited": false,
"allows_public_repositories": true,
"restricted_to_workflows": false,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}
]
}Create a self-hosted runner group for an organization
Creates a new self-hosted runner group for an organization.
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Create a self-hosted runner group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Create a self-hosted runner group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
| 名前, タイプ, 説明 |
|---|
name string 必須Name of the runner group. |
visibility string Visibility of a runner group. You can select all repositories, select individual repositories, or limit access to private repositories. デフォルト: 次のいずれかにできます: |
selected_repository_ids array of integers List of repository IDs that can access the runner group. |
runners array of integers List of runner IDs to add to the runner group. |
allows_public_repositories boolean Whether the runner group can be used by デフォルト: |
restricted_to_workflows boolean If デフォルト: |
selected_workflows array of strings List of workflows the runner group should be allowed to run. This setting will be ignored unless |
HTTP response status codes for "Create a self-hosted runner group for an organization"
| Status code | 説明 |
|---|---|
201 | Created |
Code samples for "Create a self-hosted runner group for an organization"
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups \
-d '{"name":"Expensive hardware runners","visibility":"selected","selected_repository_ids":[32,91],"runners":[9,2]}'Response
Status: 201{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_repositories_url": "https://HOSTNAME/orgs/octo-org/actions/runner-groups/2/repositories",
"runners_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/2/runners",
"inherited": false,
"allows_public_repositories": true,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}Get a self-hosted runner group for an organization
Gets a specific self-hosted runner group for an organization.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Get a self-hosted runner group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (read)
"Get a self-hosted runner group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
HTTP response status codes for "Get a self-hosted runner group for an organization"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "Get a self-hosted runner group for an organization"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_IDResponse
Status: 200{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_repositories_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/2/repositories",
"runners_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/2/runners",
"inherited": false,
"allows_public_repositories": true,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}Update a self-hosted runner group for an organization
Updates the name and visibility of a self-hosted runner group in an organization.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Update a self-hosted runner group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Update a self-hosted runner group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
name string 必須Name of the runner group. |
visibility string Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories. 次のいずれかにできます: |
allows_public_repositories boolean Whether the runner group can be used by デフォルト: |
restricted_to_workflows boolean If デフォルト: |
selected_workflows array of strings List of workflows the runner group should be allowed to run. This setting will be ignored unless |
HTTP response status codes for "Update a self-hosted runner group for an organization"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "Update a self-hosted runner group for an organization"
Request example
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID \
-d '{"name":"Expensive hardware runners","visibility":"selected"}'Response
Status: 200{
"id": 2,
"name": "octo-runner-group",
"visibility": "selected",
"default": false,
"selected_repositories_url": "https://HOSTNAME/orgs/octo-org/actions/runner-groups/2/repositories",
"runners_url": "https://HOSTNAME/orgs/octo-org/actions/runner_groups/2/runners",
"inherited": false,
"allows_public_repositories": true,
"restricted_to_workflows": true,
"selected_workflows": [
"octo-org/octo-repo/.github/workflows/deploy.yaml@refs/heads/main"
],
"workflow_restrictions_read_only": false
}Delete a self-hosted runner group from an organization
Deletes a self-hosted runner group for an organization.
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Delete a self-hosted runner group from an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Delete a self-hosted runner group from an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
HTTP response status codes for "Delete a self-hosted runner group from an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Delete a self-hosted runner group from an organization"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_IDResponse
Status: 204List repository access to a self-hosted runner group in an organization
Lists the repositories with access to a self-hosted runner group configured in an organization.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "List repository access to a self-hosted runner group in an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (read)
"List repository access to a self-hosted runner group in an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." デフォルト: |
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." デフォルト: |
HTTP response status codes for "List repository access to a self-hosted runner group in an organization"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "List repository access to a self-hosted runner group in an organization"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositoriesResponse
Status: 200{
"total_count": 1,
"repositories": [
{
"id": 1296269,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"owner": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/octocat/Hello-World",
"description": "This your first repo!",
"fork": false,
"url": "https://HOSTNAME/repos/octocat/Hello-World",
"archive_url": "https://HOSTNAME/repos/octocat/Hello-World/{archive_format}{/ref}",
"assignees_url": "https://HOSTNAME/repos/octocat/Hello-World/assignees{/user}",
"blobs_url": "https://HOSTNAME/repos/octocat/Hello-World/git/blobs{/sha}",
"branches_url": "https://HOSTNAME/repos/octocat/Hello-World/branches{/branch}",
"collaborators_url": "https://HOSTNAME/repos/octocat/Hello-World/collaborators{/collaborator}",
"comments_url": "https://HOSTNAME/repos/octocat/Hello-World/comments{/number}",
"commits_url": "https://HOSTNAME/repos/octocat/Hello-World/commits{/sha}",
"compare_url": "https://HOSTNAME/repos/octocat/Hello-World/compare/{base}...{head}",
"contents_url": "https://HOSTNAME/repos/octocat/Hello-World/contents/{+path}",
"contributors_url": "https://HOSTNAME/repos/octocat/Hello-World/contributors",
"deployments_url": "https://HOSTNAME/repos/octocat/Hello-World/deployments",
"downloads_url": "https://HOSTNAME/repos/octocat/Hello-World/downloads",
"events_url": "https://HOSTNAME/repos/octocat/Hello-World/events",
"forks_url": "https://HOSTNAME/repos/octocat/Hello-World/forks",
"git_commits_url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits{/sha}",
"git_refs_url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs{/sha}",
"git_tags_url": "https://HOSTNAME/repos/octocat/Hello-World/git/tags{/sha}",
"git_url": "git:github.com/octocat/Hello-World.git",
"issue_comment_url": "https://HOSTNAME/repos/octocat/Hello-World/issues/comments{/number}",
"issue_events_url": "https://HOSTNAME/repos/octocat/Hello-World/issues/events{/number}",
"issues_url": "https://HOSTNAME/repos/octocat/Hello-World/issues{/number}",
"keys_url": "https://HOSTNAME/repos/octocat/Hello-World/keys{/key_id}",
"labels_url": "https://HOSTNAME/repos/octocat/Hello-World/labels{/name}",
"languages_url": "https://HOSTNAME/repos/octocat/Hello-World/languages",
"merges_url": "https://HOSTNAME/repos/octocat/Hello-World/merges",
"milestones_url": "https://HOSTNAME/repos/octocat/Hello-World/milestones{/number}",
"notifications_url": "https://HOSTNAME/repos/octocat/Hello-World/notifications{?since,all,participating}",
"pulls_url": "https://HOSTNAME/repos/octocat/Hello-World/pulls{/number}",
"releases_url": "https://HOSTNAME/repos/octocat/Hello-World/releases{/id}",
"ssh_url": "git@github.com:octocat/Hello-World.git",
"stargazers_url": "https://HOSTNAME/repos/octocat/Hello-World/stargazers",
"statuses_url": "https://HOSTNAME/repos/octocat/Hello-World/statuses/{sha}",
"subscribers_url": "https://HOSTNAME/repos/octocat/Hello-World/subscribers",
"subscription_url": "https://HOSTNAME/repos/octocat/Hello-World/subscription",
"tags_url": "https://HOSTNAME/repos/octocat/Hello-World/tags",
"teams_url": "https://HOSTNAME/repos/octocat/Hello-World/teams",
"trees_url": "https://HOSTNAME/repos/octocat/Hello-World/git/trees{/sha}",
"clone_url": "https://github.com/octocat/Hello-World.git",
"mirror_url": "git:git.example.com/octocat/Hello-World",
"hooks_url": "https://HOSTNAME/repos/octocat/Hello-World/hooks",
"svn_url": "https://svn.github.com/octocat/Hello-World",
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"stargazers_count": 80,
"watchers_count": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"is_template": true,
"topics": [
"octocat",
"atom",
"electron",
"api"
],
"has_issues": true,
"has_projects": true,
"has_wiki": true,
"has_pages": false,
"has_downloads": true,
"archived": false,
"disabled": false,
"visibility": "public",
"pushed_at": "2011-01-26T19:06:43Z",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z",
"permissions": {
"admin": false,
"push": false,
"pull": true
},
"template_repository": {
"id": 1296269,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"owner": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"gravatar_id": "",
"url": "https://HOSTNAME/users/octocat",
"html_url": "https://github.com/octocat",
"followers_url": "https://HOSTNAME/users/octocat/followers",
"following_url": "https://HOSTNAME/users/octocat/following{/other_user}",
"gists_url": "https://HOSTNAME/users/octocat/gists{/gist_id}",
"starred_url": "https://HOSTNAME/users/octocat/starred{/owner}{/repo}",
"subscriptions_url": "https://HOSTNAME/users/octocat/subscriptions",
"organizations_url": "https://HOSTNAME/users/octocat/orgs",
"repos_url": "https://HOSTNAME/users/octocat/repos",
"events_url": "https://HOSTNAME/users/octocat/events{/privacy}",
"received_events_url": "https://HOSTNAME/users/octocat/received_events",
"type": "User",
"site_admin": false
},
"private": false,
"html_url": "https://github.com/octocat/Hello-World",
"description": "This your first repo!",
"fork": false,
"url": "https://HOSTNAME/repos/octocat/Hello-World",
"archive_url": "https://HOSTNAME/repos/octocat/Hello-World/{archive_format}{/ref}",
"assignees_url": "https://HOSTNAME/repos/octocat/Hello-World/assignees{/user}",
"blobs_url": "https://HOSTNAME/repos/octocat/Hello-World/git/blobs{/sha}",
"branches_url": "https://HOSTNAME/repos/octocat/Hello-World/branches{/branch}",
"collaborators_url": "https://HOSTNAME/repos/octocat/Hello-World/collaborators{/collaborator}",
"comments_url": "https://HOSTNAME/repos/octocat/Hello-World/comments{/number}",
"commits_url": "https://HOSTNAME/repos/octocat/Hello-World/commits{/sha}",
"compare_url": "https://HOSTNAME/repos/octocat/Hello-World/compare/{base}...{head}",
"contents_url": "https://HOSTNAME/repos/octocat/Hello-World/contents/{+path}",
"contributors_url": "https://HOSTNAME/repos/octocat/Hello-World/contributors",
"deployments_url": "https://HOSTNAME/repos/octocat/Hello-World/deployments",
"downloads_url": "https://HOSTNAME/repos/octocat/Hello-World/downloads",
"events_url": "https://HOSTNAME/repos/octocat/Hello-World/events",
"forks_url": "https://HOSTNAME/repos/octocat/Hello-World/forks",
"git_commits_url": "https://HOSTNAME/repos/octocat/Hello-World/git/commits{/sha}",
"git_refs_url": "https://HOSTNAME/repos/octocat/Hello-World/git/refs{/sha}",
"git_tags_url": "https://HOSTNAME/repos/octocat/Hello-World/git/tags{/sha}",
"git_url": "git:github.com/octocat/Hello-World.git",
"issue_comment_url": "https://HOSTNAME/repos/octocat/Hello-World/issues/comments{/number}",
"issue_events_url": "https://HOSTNAME/repos/octocat/Hello-World/issues/events{/number}",
"issues_url": "https://HOSTNAME/repos/octocat/Hello-World/issues{/number}",
"keys_url": "https://HOSTNAME/repos/octocat/Hello-World/keys{/key_id}",
"labels_url": "https://HOSTNAME/repos/octocat/Hello-World/labels{/name}",
"languages_url": "https://HOSTNAME/repos/octocat/Hello-World/languages",
"merges_url": "https://HOSTNAME/repos/octocat/Hello-World/merges",
"milestones_url": "https://HOSTNAME/repos/octocat/Hello-World/milestones{/number}",
"notifications_url": "https://HOSTNAME/repos/octocat/Hello-World/notifications{?since,all,participating}",
"pulls_url": "https://HOSTNAME/repos/octocat/Hello-World/pulls{/number}",
"releases_url": "https://HOSTNAME/repos/octocat/Hello-World/releases{/id}",
"ssh_url": "git@github.com:octocat/Hello-World.git",
"stargazers_url": "https://HOSTNAME/repos/octocat/Hello-World/stargazers",
"statuses_url": "https://HOSTNAME/repos/octocat/Hello-World/statuses/{sha}",
"subscribers_url": "https://HOSTNAME/repos/octocat/Hello-World/subscribers",
"subscription_url": "https://HOSTNAME/repos/octocat/Hello-World/subscription",
"tags_url": "https://HOSTNAME/repos/octocat/Hello-World/tags",
"teams_url": "https://HOSTNAME/repos/octocat/Hello-World/teams",
"trees_url": "https://HOSTNAME/repos/octocat/Hello-World/git/trees{/sha}",
"clone_url": "https://github.com/octocat/Hello-World.git",
"mirror_url": "git:git.example.com/octocat/Hello-World",
"hooks_url": "https://HOSTNAME/repos/octocat/Hello-World/hooks",
"svn_url": "https://svn.github.com/octocat/Hello-World",
"homepage": "https://github.com",
"organization": null,
"language": null,
"forks": 9,
"forks_count": 9,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues": 0,
"open_issues_count": 0,
"is_template": true,
"license": {
"key": "mit",
"name": "MIT License",
"url": "https://HOSTNAME/licenses/mit",
"spdx_id": "MIT",
"node_id": "MDc6TGljZW5zZW1pdA==",
"html_url": "https://HOSTNAME/licenses/mit"
},
"topics": [
"octocat",
"atom",
"electron",
"api"
],
"has_issues": true,
"has_projects": true,
"has_wiki": true,
"has_pages": false,
"has_downloads": true,
"archived": false,
"disabled": false,
"visibility": "public",
"pushed_at": "2011-01-26T19:06:43Z",
"created_at": "2011-01-26T19:01:12Z",
"updated_at": "2011-01-26T19:14:43Z",
"permissions": {
"admin": false,
"push": false,
"pull": true
},
"allow_rebase_merge": true,
"template_repository": null,
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
"allow_squash_merge": true,
"allow_auto_merge": false,
"delete_branch_on_merge": true,
"allow_merge_commit": true,
"subscribers_count": 42,
"network_count": 0
},
"temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
"delete_branch_on_merge": true,
"subscribers_count": 42,
"network_count": 0,
"license": {
"key": "mit",
"name": "MIT License",
"url": "https://HOSTNAME/licenses/mit",
"spdx_id": "MIT",
"node_id": "MDc6TGljZW5zZW1pdA=="
},
"forks": 1,
"open_issues": 1,
"watchers": 1
}
]
}Set repository access for a self-hosted runner group in an organization
Replaces the list of repositories that have access to a self-hosted runner group configured in an organization.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Set repository access for a self-hosted runner group in an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Set repository access for a self-hosted runner group in an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
selected_repository_ids array of integers 必須List of repository IDs that can access the runner group. |
HTTP response status codes for "Set repository access for a self-hosted runner group in an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Set repository access for a self-hosted runner group in an organization"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories \
-d '{"selected_repository_ids":[32,91]}'Response
Status: 204Add repository access to a self-hosted runner group in an organization
Adds a repository to the list of repositories that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see "Create a self-hosted runner group for an organization."
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Add repository access to a self-hosted runner group in an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write) and "Metadata" repository permissions (read)
"Add repository access to a self-hosted runner group in an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
repository_id integer 必須The unique identifier of the repository. |
HTTP response status codes for "Add repository access to a self-hosted runner group in an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Add repository access to a self-hosted runner group in an organization"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories/REPOSITORY_IDResponse
Status: 204Remove repository access to a self-hosted runner group in an organization
Removes a repository from the list of selected repositories that can access a self-hosted runner group. The runner group must have visibility set to selected. For more information, see "Create a self-hosted runner group for an organization."
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Remove repository access to a self-hosted runner group in an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write) and "Metadata" repository permissions (read)
"Remove repository access to a self-hosted runner group in an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
repository_id integer 必須The unique identifier of the repository. |
HTTP response status codes for "Remove repository access to a self-hosted runner group in an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Remove repository access to a self-hosted runner group in an organization"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/repositories/REPOSITORY_IDResponse
Status: 204List self-hosted runners in a group for an organization
Lists self-hosted runners that are in a specific organization group.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "List self-hosted runners in a group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (read)
"List self-hosted runners in a group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." デフォルト: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." デフォルト: |
HTTP response status codes for "List self-hosted runners in a group for an organization"
| Status code | 説明 |
|---|---|
200 | OK |
Code samples for "List self-hosted runners in a group for an organization"
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runnersResponse
Status: 200{
"total_count": 2,
"runners": [
{
"id": 23,
"name": "linux_runner",
"os": "linux",
"status": "online",
"busy": true,
"ephemeral": false,
"labels": [
{
"id": 5,
"name": "self-hosted",
"type": "read-only"
},
{
"id": 7,
"name": "X64",
"type": "read-only"
},
{
"id": 11,
"name": "Linux",
"type": "read-only"
}
]
},
{
"id": 24,
"name": "mac_runner",
"os": "macos",
"status": "offline",
"busy": false,
"ephemeral": false,
"labels": [
{
"id": 5,
"name": "self-hosted",
"type": "read-only"
},
{
"id": 7,
"name": "X64",
"type": "read-only"
},
{
"id": 20,
"name": "macOS",
"type": "read-only"
},
{
"id": 21,
"name": "no-gpu",
"type": "custom"
}
]
}
]
}Set self-hosted runners in a group for an organization
Replaces the list of self-hosted runners that are part of an organization runner group.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Set self-hosted runners in a group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Set self-hosted runners in a group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
| 名前, タイプ, 説明 |
|---|
runners array of integers 必須List of runner IDs to add to the runner group. |
HTTP response status codes for "Set self-hosted runners in a group for an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Set self-hosted runners in a group for an organization"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners \
-d '{"runners":[9,2]}'Response
Status: 204Add a self-hosted runner to a group for an organization
Adds a self-hosted runner to a runner group configured in an organization.
OAuth tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Add a self-hosted runner to a group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Add a self-hosted runner to a group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
runner_id integer 必須Unique identifier of the self-hosted runner. |
HTTP response status codes for "Add a self-hosted runner to a group for an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Add a self-hosted runner to a group for an organization"
Request example
curl -L \
-X PUT \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_IDResponse
Status: 204Remove a self-hosted runner from a group for an organization
Removes a self-hosted runner from a group configured in an organization. The runner is then returned to the default group.
OAuth app tokens and personal access tokens (classic) need the admin:org scope to use this endpoint.
Fine-grained access tokens for "Remove a self-hosted runner from a group for an organization"
This endpoint works with the following fine-grained token types:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Self-hosted runners" organization permissions (write)
"Remove a self-hosted runner from a group for an organization" のパラメーター
| 名前, タイプ, 説明 |
|---|
accept string Setting to |
| 名前, タイプ, 説明 |
|---|
org string 必須The organization name. The name is not case sensitive. |
runner_group_id integer 必須Unique identifier of the self-hosted runner group. |
runner_id integer 必須Unique identifier of the self-hosted runner. |
HTTP response status codes for "Remove a self-hosted runner from a group for an organization"
| Status code | 説明 |
|---|---|
204 | No Content |
Code samples for "Remove a self-hosted runner from a group for an organization"
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/orgs/ORG/actions/runner-groups/RUNNER_GROUP_ID/runners/RUNNER_IDResponse
Status: 204