Skip to main content

Enterprise Server 3.21 está disponível no momento como versão candidata a lançamento.

A API REST agora é versionada. Para obter mais informações, confira "Sobre o controle de versão da API".

Pontos de extremidade da API REST para grupos de executores auto-hospedados

Use a API REST para interagir com grupos de executores auto-hospedados com relação ao GitHub Actions.

Sobre os grupos de executores auto-hospedados no GitHub Actions

Você pode usar a API REST para gerenciar grupos de executores auto-hospedados no GitHub Actions. Para saber mais, confira Gerenciar o acesso a executores auto-hospedados usando grupos.

Esses pontos de extremidade estão disponíveis para usuários autenticados, OAuth apps e GitHub Apps. Os tokens de acesso exigem o escopo repo para repositórios privados e o escopo public_repo para repositórios públicos. Os GitHub Apps precisam ter a permissão administration em repositórios ou a permissão organization_self_hosted_runners em organizações. Os usuários autenticados precisam ter acesso de administrador nos repositórios ou nas organizações ou o escopo manage_runners:enterprise para que as empresas usem esses pontos de extremidade.

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.

Parâmetros para "List self-hosted runner groups for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

Parâmetros de consulta
Nome, Tipo, Descrição
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Padrão: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Padrão: 1

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 codeDescrição
200

OK

Code samples for "List self-hosted runner groups for an enterprise"

Request example

get/enterprises/{enterprise}/actions/runner-groups
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

Response

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.

Parâmetros para "Create a self-hosted runner group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

Parâmetros do corpo
Nome, Tipo, Descrição
name string Obrigatório

Name of the runner group.

visibility string

Visibility of a runner group. You can select all organizations or select individual organization.

Pode ser um dos: selected, all

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 public repositories.

Padrão: false

restricted_to_workflows boolean

If true, the runner group will be restricted to running only the workflows specified in the selected_workflows array.

Padrão: false

selected_workflows array of strings

List of workflows the runner group should be allowed to run. This setting will be ignored unless restricted_to_workflows is set to true.

HTTP response status codes for "Create a self-hosted runner group for an enterprise"

Status codeDescrição
201

Created

Code samples for "Create a self-hosted runner group for an enterprise"

Request example

post/enterprises/{enterprise}/actions/runner-groups
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.

Parâmetros para "Get a self-hosted runner group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

HTTP response status codes for "Get a self-hosted runner group for an enterprise"

Status codeDescrição
200

OK

Code samples for "Get a self-hosted runner group for an enterprise"

Request example

get/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
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

Response

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.

Parâmetros para "Update a self-hosted runner group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros do corpo
Nome, Tipo, Descrição
name string

Name of the runner group.

visibility string

Visibility of a runner group. You can select all organizations or select individual organizations.

Padrão: all

Pode ser um dos: selected, all

allows_public_repositories boolean

Whether the runner group can be used by public repositories.

Padrão: false

restricted_to_workflows boolean

If true, the runner group will be restricted to running only the workflows specified in the selected_workflows array.

Padrão: false

selected_workflows array of strings

List of workflows the runner group should be allowed to run. This setting will be ignored unless restricted_to_workflows is set to true.

HTTP response status codes for "Update a self-hosted runner group for an enterprise"

Status codeDescrição
200

OK

Code samples for "Update a self-hosted runner group for an enterprise"

Request example

patch/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
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.

Parâmetros para "Delete a self-hosted runner group from an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

HTTP response status codes for "Delete a self-hosted runner group from an enterprise"

Status codeDescrição
204

No Content

Code samples for "Delete a self-hosted runner group from an enterprise"

Request example

delete/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}
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

Response

Status: 204

List 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.

Parâmetros para "List organization access to a self-hosted runner group in an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros de consulta
Nome, Tipo, Descrição
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Padrão: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Padrão: 1

HTTP response status codes for "List organization access to a self-hosted runner group in an enterprise"

Status codeDescrição
200

OK

Code samples for "List organization access to a self-hosted runner group in an enterprise"

Request example

get/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations
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/organizations

Response

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.

Parâmetros para "Set organization access for a self-hosted runner group in an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros do corpo
Nome, Tipo, Descrição
selected_organization_ids array of integers Obrigatório

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 codeDescrição
204

No Content

Code samples for "Set organization access for a self-hosted runner group in an enterprise"

Request example

put/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations
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: 204

Add 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.

Parâmetros para "Add organization access to a self-hosted runner group in an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

org_id integer Obrigatório

The unique identifier of the organization.

HTTP response status codes for "Add organization access to a self-hosted runner group in an enterprise"

Status codeDescrição
204

No Content

Code samples for "Add organization access to a self-hosted runner group in an enterprise"

Request example

put/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}
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_ID

Response

Status: 204

Remove 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.

Parâmetros para "Remove organization access to a self-hosted runner group in an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

org_id integer Obrigatório

The unique identifier of the organization.

HTTP response status codes for "Remove organization access to a self-hosted runner group in an enterprise"

Status codeDescrição
204

No Content

Code samples for "Remove organization access to a self-hosted runner group in an enterprise"

Request example

delete/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/organizations/{org_id}
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_ID

Response

Status: 204

List 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.

Parâmetros para "List self-hosted runners in a group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros de consulta
Nome, Tipo, Descrição
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Padrão: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Padrão: 1

HTTP response status codes for "List self-hosted runners in a group for an enterprise"

Status codeDescrição
200

OK

Code samples for "List self-hosted runners in a group for an enterprise"

Request example

get/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners
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/runners

Response

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.

Parâmetros para "Set self-hosted runners in a group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros do corpo
Nome, Tipo, Descrição
runners array of integers Obrigatório

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 codeDescrição
204

No Content

Code samples for "Set self-hosted runners in a group for an enterprise"

Request example

put/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners
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: 204

Add 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.

Parâmetros para "Add a self-hosted runner to a group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

runner_id integer Obrigatório

Unique identifier of the self-hosted runner.

HTTP response status codes for "Add a self-hosted runner to a group for an enterprise"

Status codeDescrição
204

No Content

Code samples for "Add a self-hosted runner to a group for an enterprise"

Request example

put/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
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_ID

Response

Status: 204

Remove 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.

Parâmetros para "Remove a self-hosted runner from a group for an enterprise"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
enterprise string Obrigatório

The slug version of the enterprise name.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

runner_id integer Obrigatório

Unique identifier of the self-hosted runner.

HTTP response status codes for "Remove a self-hosted runner from a group for an enterprise"

Status codeDescrição
204

No Content

Code samples for "Remove a self-hosted runner from a group for an enterprise"

Request example

delete/enterprises/{enterprise}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
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_ID

Response

Status: 204

List 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (read)

Parâmetros para "List self-hosted runner groups for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

Parâmetros de consulta
Nome, Tipo, Descrição
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Padrão: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Padrão: 1

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 codeDescrição
200

OK

Code samples for "List self-hosted runner groups for an organization"

Request example

get/orgs/{org}/actions/runner-groups
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

Response

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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Create a self-hosted runner group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

Parâmetros do corpo
Nome, Tipo, Descrição
name string Obrigatório

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.

Padrão: all

Pode ser um dos: selected, all, private

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 public repositories.

Padrão: false

restricted_to_workflows boolean

If true, the runner group will be restricted to running only the workflows specified in the selected_workflows array.

Padrão: false

selected_workflows array of strings

List of workflows the runner group should be allowed to run. This setting will be ignored unless restricted_to_workflows is set to true.

HTTP response status codes for "Create a self-hosted runner group for an organization"

Status codeDescrição
201

Created

Code samples for "Create a self-hosted runner group for an organization"

Request example

post/orgs/{org}/actions/runner-groups
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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (read)

Parâmetros para "Get a self-hosted runner group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

HTTP response status codes for "Get a self-hosted runner group for an organization"

Status codeDescrição
200

OK

Code samples for "Get a self-hosted runner group for an organization"

Request example

get/orgs/{org}/actions/runner-groups/{runner_group_id}
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

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 }

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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Update a self-hosted runner group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros do corpo
Nome, Tipo, Descrição
name string Obrigatório

Name of the runner group.

visibility string

Visibility of a runner group. You can select all repositories, select individual repositories, or all private repositories.

Pode ser um dos: selected, all, private

allows_public_repositories boolean

Whether the runner group can be used by public repositories.

Padrão: false

restricted_to_workflows boolean

If true, the runner group will be restricted to running only the workflows specified in the selected_workflows array.

Padrão: false

selected_workflows array of strings

List of workflows the runner group should be allowed to run. This setting will be ignored unless restricted_to_workflows is set to true.

HTTP response status codes for "Update a self-hosted runner group for an organization"

Status codeDescrição
200

OK

Code samples for "Update a self-hosted runner group for an organization"

Request example

patch/orgs/{org}/actions/runner-groups/{runner_group_id}
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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Delete a self-hosted runner group from an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

HTTP response status codes for "Delete a self-hosted runner group from an organization"

Status codeDescrição
204

No Content

Code samples for "Delete a self-hosted runner group from an organization"

Request example

delete/orgs/{org}/actions/runner-groups/{runner_group_id}
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

Response

Status: 204

List 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (read)

Parâmetros para "List repository access to a self-hosted runner group in an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros de consulta
Nome, Tipo, Descrição
page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Padrão: 1

per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Padrão: 30

HTTP response status codes for "List repository access to a self-hosted runner group in an organization"

Status codeDescrição
200

OK

Code samples for "List repository access to a self-hosted runner group in an organization"

Request example

get/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
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/repositories

Response

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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Set repository access for a self-hosted runner group in an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros do corpo
Nome, Tipo, Descrição
selected_repository_ids array of integers Obrigatório

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 codeDescrição
204

No Content

Code samples for "Set repository access for a self-hosted runner group in an organization"

Request example

put/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories
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: 204

Add 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write) and "Metadata" repository permissions (read)

Parâmetros para "Add repository access to a self-hosted runner group in an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

repository_id integer Obrigatório

The unique identifier of the repository.

HTTP response status codes for "Add repository access to a self-hosted runner group in an organization"

Status codeDescrição
204

No Content

Code samples for "Add repository access to a self-hosted runner group in an organization"

Request example

put/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
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_ID

Response

Status: 204

Remove 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write) and "Metadata" repository permissions (read)

Parâmetros para "Remove repository access to a self-hosted runner group in an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

repository_id integer Obrigatório

The unique identifier of the repository.

HTTP response status codes for "Remove repository access to a self-hosted runner group in an organization"

Status codeDescrição
204

No Content

Code samples for "Remove repository access to a self-hosted runner group in an organization"

Request example

delete/orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}
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_ID

Response

Status: 204

List 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (read)

Parâmetros para "List self-hosted runners in a group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros de consulta
Nome, Tipo, Descrição
per_page integer

The number of results per page (max 100). For more information, see "Using pagination in the REST API."

Padrão: 30

page integer

The page number of the results to fetch. For more information, see "Using pagination in the REST API."

Padrão: 1

HTTP response status codes for "List self-hosted runners in a group for an organization"

Status codeDescrição
200

OK

Code samples for "List self-hosted runners in a group for an organization"

Request example

get/orgs/{org}/actions/runner-groups/{runner_group_id}/runners
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/runners

Response

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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Set self-hosted runners in a group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

Parâmetros do corpo
Nome, Tipo, Descrição
runners array of integers Obrigatório

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 codeDescrição
204

No Content

Code samples for "Set self-hosted runners in a group for an organization"

Request example

put/orgs/{org}/actions/runner-groups/{runner_group_id}/runners
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: 204

Add 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Add a self-hosted runner to a group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

runner_id integer Obrigatório

Unique identifier of the self-hosted runner.

HTTP response status codes for "Add a self-hosted runner to a group for an organization"

Status codeDescrição
204

No Content

Code samples for "Add a self-hosted runner to a group for an organization"

Request example

put/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
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_ID

Response

Status: 204

Remove 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:

The fine-grained token must have the following permission set:

  • "Self-hosted runners" organization permissions (write)

Parâmetros para "Remove a self-hosted runner from a group for an organization"

Cabeçalhos
Nome, Tipo, Descrição
accept string

Setting to application/vnd.github+json is recommended.

Parâmetros de caminho
Nome, Tipo, Descrição
org string Obrigatório

The organization name. The name is not case sensitive.

runner_group_id integer Obrigatório

Unique identifier of the self-hosted runner group.

runner_id integer Obrigatório

Unique identifier of the self-hosted runner.

HTTP response status codes for "Remove a self-hosted runner from a group for an organization"

Status codeDescrição
204

No Content

Code samples for "Remove a self-hosted runner from a group for an organization"

Request example

delete/orgs/{org}/actions/runner-groups/{runner_group_id}/runners/{runner_id}
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_ID

Response

Status: 204