GitHub-hosted runners
Use the REST API to interact with GitHub-hosted runners in GitHub Actions.
List GitHub-hosted runners for an enterprise
Lists all GitHub-hosted runners 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 "List GitHub-hosted runners 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.
Parameters for "List GitHub-hosted runners for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
Name, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
HTTP response status codes for "List GitHub-hosted runners for an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "List GitHub-hosted runners for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners
Response
Status: 200
{
"total_count": 2,
"runners": [
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
},
{
"id": 7,
"name": "My hosted Windows runner",
"runner_group_id": 2,
"platform": "win-x64",
"image": {
"id": "windows-latest",
"size": 256
},
"machine_size_details": {
"id": "8-core",
"cpu_cores": 8,
"memory_gb": 32,
"storage_gb": 300
},
"status": "Ready",
"maximum_runners": 20,
"public_ip_enabled": false,
"public_ips": [],
"last_active_on": "2023-04-26T15:23:37Z"
}
]
}
Create a GitHub-hosted runner for an enterprise
Creates a GitHub-hosted runner for an enterprise.
OAuth tokens and personal access tokens (classic) need the manage_runners:enterprise
scope to use this endpoint.
Fine-grained access tokens for "Create a GitHub-hosted runner 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.
Parameters for "Create a GitHub-hosted runner for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
Name, Type, Description | ||||
---|---|---|---|---|
name string RequiredName of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. | ||||
image object RequiredThe image of runner. To list all available images, use | ||||
Properties of |
Name, Type, Description |
---|
id string The unique identifier of the runner image. |
source string The source of the runner image. Can be one of: |
version string or null The version of the runner image to deploy. This is relevant only for runners using custom images. |
size
string RequiredThe machine size of the runner. To list available sizes, use GET actions/hosted-runners/machine-sizes
runner_group_id
integer RequiredThe existing runner group to add this runner to.
maximum_runners
integer The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost.
Default: 50
enable_static_ip
boolean Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use GET actions/hosted-runners/limits
Default: false
HTTP response status codes for "Create a GitHub-hosted runner for an enterprise"
Status code | Description |
---|---|
201 | Created |
Code samples for "Create a GitHub-hosted runner for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners \
-d '{"name":"My Hosted runner","image":{"id":"ubuntu-latest","source":"github","version":"latest"},"runner_group_id":1,"size":"4-core","maximum_runners":10}'
Response
Status: 201
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
Get GitHub-owned images for GitHub-hosted runners in an enterprise
Get the list of GitHub-owned images available for GitHub-hosted runners for an enterprise.
Fine-grained access tokens for "Get GitHub-owned images for GitHub-hosted runners 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.
Parameters for "Get GitHub-owned images for GitHub-hosted runners in an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes for "Get GitHub-owned images for GitHub-hosted runners in an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get GitHub-owned images for GitHub-hosted runners in an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/images/github-owned
Response
Status: 200
{
"id": "ubuntu-20.04",
"platform": "linux-x64",
"size_gb": 86,
"display_name": "20.04",
"source": "github"
}
Get partner images for GitHub-hosted runners in an enterprise
Get the list of partner images available for GitHub-hosted runners for an enterprise.
Fine-grained access tokens for "Get partner images for GitHub-hosted runners 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.
Parameters for "Get partner images for GitHub-hosted runners in an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes for "Get partner images for GitHub-hosted runners in an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get partner images for GitHub-hosted runners in an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/images/partner
Response
Status: 200
{
"id": "ubuntu-20.04",
"platform": "linux-x64",
"size_gb": 86,
"display_name": "20.04",
"source": "github"
}
Get limits on GitHub-hosted runners for an enterprise
Get the GitHub-hosted runners limits for an enterprise.
Fine-grained access tokens for "Get limits on GitHub-hosted runners 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.
Parameters for "Get limits on GitHub-hosted runners for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes for "Get limits on GitHub-hosted runners for an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get limits on GitHub-hosted runners for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/limits
Response
Status: 200
{
"public_ips": {
"current_usage": 17,
"maximum": 50
}
}
Get GitHub-hosted runners machine specs for an enterprise
Get the list of machine specs available for GitHub-hosted runners for an enterprise.
Fine-grained access tokens for "Get GitHub-hosted runners machine specs 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.
Parameters for "Get GitHub-hosted runners machine specs for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes for "Get GitHub-hosted runners machine specs for an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get GitHub-hosted runners machine specs for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/machine-sizes
Response
Status: 200
{
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
}
Get platforms for GitHub-hosted runners in an enterprise
Get the list of platforms available for GitHub-hosted runners for an enterprise.
Fine-grained access tokens for "Get platforms for GitHub-hosted runners 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.
Parameters for "Get platforms for GitHub-hosted runners in an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
HTTP response status codes for "Get platforms for GitHub-hosted runners in an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get platforms for GitHub-hosted runners in an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/platforms
Response
Status: 200
{
"total_count": 1,
"platforms": [
"linux-x64",
"win-x64"
]
}
Get a GitHub-hosted runner for an enterprise
Gets a GitHub-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 "Get a GitHub-hosted runner 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.
Parameters for "Get a GitHub-hosted runner for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
hosted_runner_id integer RequiredUnique identifier of the GitHub-hosted runner. |
HTTP response status codes for "Get a GitHub-hosted runner for an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a GitHub-hosted runner for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/HOSTED_RUNNER_ID
Response
Status: 200
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
Update a GitHub-hosted runner for an enterprise
Updates a GitHub-hosted runner 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 "Update a GitHub-hosted runner 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.
Parameters for "Update a GitHub-hosted runner for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
hosted_runner_id integer RequiredUnique identifier of the GitHub-hosted runner. |
Name, Type, Description |
---|
name string Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. |
runner_group_id integer The existing runner group to add this runner to. |
maximum_runners integer The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. |
enable_static_ip boolean Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use |
image_version string or null The version of the runner image to deploy. This is relevant only for runners using custom images. |
HTTP response status codes for "Update a GitHub-hosted runner for an enterprise"
Status code | Description |
---|---|
200 | OK |
Code samples for "Update a GitHub-hosted runner for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/HOSTED_RUNNER_ID \
-d '{"name":"My Hosted runner","runner_group_id":1,"maximum_runners":50,"enable_static_ip":false,"image_version":"1.0.0"}'
Response
Status: 200
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
Delete a GitHub-hosted runner for an enterprise
Deletes a GitHub-hosted runner for an enterprise.
Fine-grained access tokens for "Delete a GitHub-hosted runner 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.
Parameters for "Delete a GitHub-hosted runner for an enterprise"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
enterprise string RequiredThe slug version of the enterprise name. You can also substitute this value with the enterprise id. |
hosted_runner_id integer RequiredUnique identifier of the GitHub-hosted runner. |
HTTP response status codes for "Delete a GitHub-hosted runner for an enterprise"
Status code | Description |
---|---|
202 | Accepted |
Code samples for "Delete a GitHub-hosted runner for an enterprise"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/enterprises/ENTERPRISE/actions/hosted-runners/HOSTED_RUNNER_ID
Response
Status: 202
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
List GitHub-hosted runners for an organization
Lists all GitHub-hosted runners configured in an organization.
OAuth app tokens and personal access tokens (classic) need the manage_runner:org
scope to use this endpoint.
Fine-grained access tokens for "List GitHub-hosted runners 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:
- "Administration" organization permissions (read)
Parameters for "List GitHub-hosted runners for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
Name, Type, Description |
---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
HTTP response status codes for "List GitHub-hosted runners for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "List GitHub-hosted runners for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners
Response
Status: 200
{
"total_count": 2,
"runners": [
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
},
{
"id": 7,
"name": "My hosted Windows runner",
"runner_group_id": 2,
"platform": "win-x64",
"image": {
"id": "windows-latest",
"size": 256
},
"machine_size_details": {
"id": "8-core",
"cpu_cores": 8,
"memory_gb": 32,
"storage_gb": 300
},
"status": "Ready",
"maximum_runners": 20,
"public_ip_enabled": false,
"public_ips": [],
"last_active_on": "2023-04-26T15:23:37Z"
}
]
}
Create a GitHub-hosted runner for an organization
Creates a GitHub-hosted runner for an organization.
OAuth tokens and personal access tokens (classic) need the manage_runners:org
scope to use this endpoint.
Fine-grained access tokens for "Create a GitHub-hosted runner 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:
- "Administration" organization permissions (write)
Parameters for "Create a GitHub-hosted runner for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
Name, Type, Description | ||||
---|---|---|---|---|
name string RequiredName of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. | ||||
image object RequiredThe image of runner. To list all available images, use | ||||
Properties of |
Name, Type, Description |
---|
id string The unique identifier of the runner image. |
source string The source of the runner image. Can be one of: |
version string or null The version of the runner image to deploy. This is relevant only for runners using custom images. |
size
string RequiredThe machine size of the runner. To list available sizes, use GET actions/hosted-runners/machine-sizes
runner_group_id
integer RequiredThe existing runner group to add this runner to.
maximum_runners
integer The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost.
enable_static_ip
boolean Whether this runner should be created with a static public IP. Note limit on account. To list limits on account, use GET actions/hosted-runners/limits
HTTP response status codes for "Create a GitHub-hosted runner for an organization"
Status code | Description |
---|---|
201 | Created |
Code samples for "Create a GitHub-hosted runner for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners \
-d '{"name":"My Hosted runner","image":{"id":"ubuntu-latest","source":"github","version":"latest"},"runner_group_id":1,"size":"4-core","maximum_runners":50,"enable_static_ip":false}'
Response
Status: 201
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
Get GitHub-owned images for GitHub-hosted runners in an organization
Get the list of GitHub-owned images available for GitHub-hosted runners for an organization.
Fine-grained access tokens for "Get GitHub-owned images for GitHub-hosted runners 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:
- "Administration" organization permissions (read)
Parameters for "Get GitHub-owned images for GitHub-hosted runners in an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Get GitHub-owned images for GitHub-hosted runners in an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get GitHub-owned images for GitHub-hosted runners in an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/images/github-owned
Response
Status: 200
{
"id": "ubuntu-20.04",
"platform": "linux-x64",
"size_gb": 86,
"display_name": "20.04",
"source": "github"
}
Get partner images for GitHub-hosted runners in an organization
Get the list of partner images available for GitHub-hosted runners for an organization.
Fine-grained access tokens for "Get partner images for GitHub-hosted runners 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:
- "Administration" organization permissions (read)
Parameters for "Get partner images for GitHub-hosted runners in an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Get partner images for GitHub-hosted runners in an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get partner images for GitHub-hosted runners in an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/images/partner
Response
Status: 200
{
"id": "ubuntu-20.04",
"platform": "linux-x64",
"size_gb": 86,
"display_name": "20.04",
"source": "github"
}
Get limits on GitHub-hosted runners for an organization
Get the GitHub-hosted runners limits for an organization.
Fine-grained access tokens for "Get limits on GitHub-hosted runners 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:
- "Administration" organization permissions (read)
Parameters for "Get limits on GitHub-hosted runners for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Get limits on GitHub-hosted runners for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get limits on GitHub-hosted runners for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/limits
Response
Status: 200
{
"public_ips": {
"current_usage": 17,
"maximum": 50
}
}
Get GitHub-hosted runners machine specs for an organization
Get the list of machine specs available for GitHub-hosted runners for an organization.
Fine-grained access tokens for "Get GitHub-hosted runners machine specs 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:
- "Administration" organization permissions (read)
Parameters for "Get GitHub-hosted runners machine specs for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Get GitHub-hosted runners machine specs for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get GitHub-hosted runners machine specs for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/machine-sizes
Response
Status: 200
{
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
}
Get platforms for GitHub-hosted runners in an organization
Get the list of platforms available for GitHub-hosted runners for an organization.
Fine-grained access tokens for "Get platforms for GitHub-hosted runners 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:
- "Administration" organization permissions (read)
Parameters for "Get platforms for GitHub-hosted runners in an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
HTTP response status codes for "Get platforms for GitHub-hosted runners in an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get platforms for GitHub-hosted runners in an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/platforms
Response
Status: 200
{
"total_count": 1,
"platforms": [
"linux-x64",
"win-x64"
]
}
Get a GitHub-hosted runner for an organization
Gets a GitHub-hosted runner configured in an organization.
OAuth app tokens and personal access tokens (classic) need the manage_runners:org
scope to use this endpoint.
Fine-grained access tokens for "Get a GitHub-hosted runner 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:
- "Administration" organization permissions (read)
Parameters for "Get a GitHub-hosted runner for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
hosted_runner_id integer RequiredUnique identifier of the GitHub-hosted runner. |
HTTP response status codes for "Get a GitHub-hosted runner for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Get a GitHub-hosted runner for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/HOSTED_RUNNER_ID
Response
Status: 200
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
Update a GitHub-hosted runner for an organization
Updates a GitHub-hosted runner for an organization.
OAuth app tokens and personal access tokens (classic) need the manage_runners:org
scope to use this endpoint.
Fine-grained access tokens for "Update a GitHub-hosted runner 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:
- "Administration" organization permissions (write)
Parameters for "Update a GitHub-hosted runner for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
hosted_runner_id integer RequiredUnique identifier of the GitHub-hosted runner. |
Name, Type, Description |
---|
name string Name of the runner. Must be between 1 and 64 characters and may only contain upper and lowercase letters a-z, numbers 0-9, '.', '-', and '_'. |
runner_group_id integer The existing runner group to add this runner to. |
maximum_runners integer The maximum amount of runners to scale up to. Runners will not auto-scale above this number. Use this setting to limit your cost. |
enable_static_ip boolean Whether this runner should be updated with a static public IP. Note limit on account. To list limits on account, use |
image_version string or null The version of the runner image to deploy. This is relevant only for runners using custom images. |
HTTP response status codes for "Update a GitHub-hosted runner for an organization"
Status code | Description |
---|---|
200 | OK |
Code samples for "Update a GitHub-hosted runner for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/HOSTED_RUNNER_ID \
-d '{"name":"My larger runner","runner_group_id":1,"maximum_runners":50,"enable_static_ip":false,"image_version":"1.0.0"}'
Response
Status: 200
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}
Delete a GitHub-hosted runner for an organization
Deletes a GitHub-hosted runner for an organization.
Fine-grained access tokens for "Delete a GitHub-hosted runner 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:
- "Administration" organization permissions (write)
Parameters for "Delete a GitHub-hosted runner for an organization"
Name, Type, Description |
---|
accept string Setting to |
Name, Type, Description |
---|
org string RequiredThe organization name. The name is not case sensitive. |
hosted_runner_id integer RequiredUnique identifier of the GitHub-hosted runner. |
HTTP response status codes for "Delete a GitHub-hosted runner for an organization"
Status code | Description |
---|---|
202 | Accepted |
Code samples for "Delete a GitHub-hosted runner for an organization"
If you access GitHub at GHE.com, replace api.github.com
with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com
.
Request example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/actions/hosted-runners/HOSTED_RUNNER_ID
Response
Status: 202
{
"id": 5,
"name": "My hosted ubuntu runner",
"runner_group_id": 2,
"platform": "linux-x64",
"image": {
"id": "ubuntu-20.04",
"size": 86
},
"machine_size_details": {
"id": "4-core",
"cpu_cores": 4,
"memory_gb": 16,
"storage_gb": 150
},
"status": "Ready",
"maximum_runners": 10,
"public_ip_enabled": true,
"public_ips": [
{
"enabled": true,
"prefix": "20.80.208.150",
"length": 31
}
],
"last_active_on": "2022-10-09T23:39:01Z"
}