Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.
The REST API is now versioned. For more information, see "About API versioning."

Selbstgehostete Runner

Verwende die REST-API, um mit selbstgehosteten Runnern in GitHub Actions zu interagieren.

Informationen zu selbstgehosteten Runnern in GitHub Actions

Du kannst die REST-API verwenden, um selbstgehostete Runner in GitHub Actions zu registrieren, anzuzeigen und zu löschen. Dank selbstgehosteter Runner kannst du deine eigenen Runner hosten und die Umgebung anpassen, die für die Ausführung von Aufträgen in deinen GitHub Actions-Workflows verwendet wird. Weitere Informationen findest du unter Hosting der eigenen Runner.

Diese Endpunkte sind für authentifizierte Benutzer, OAuth Apps und GitHub Apps verfügbar. Zugriffstoken erfordern einen repo-Bereich für private Repositorys und einen public_repo-Bereich für öffentliche Repositorys. GitHub Apps müssen über die administration-Berechtigung für Repositorys und organization_self_hosted_runners-Berechtigungen für Organisationen verfügen. Authentifizierte Benutzer müssen über Administratorzugriff auf Repositorys oder Organisationen oder auf den Bereich manage_runners:enterprise für Unternehmen verfügen, um diese Endpunkte zu verwenden.

List self-hosted runners for an enterprise

Lists all self-hosted runners configured for an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

Query parameters
Name, Type, BESCHREIBUNG
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/enterprises/{enterprise}/actions/runners
curl \ -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/runners

Response

Status: 200
{ "total_count": 2, "runners": [ { "id": 23, "name": "linux_runner", "os": "linux", "status": "online", "busy": true, "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, "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" } ] } ] }

List runner applications for an enterprise

Lists binaries for the runner application that you can download and run.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/enterprises/{enterprise}/actions/runners/downloads
curl \ -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/runners/downloads

Response

Status: 200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

Create a registration token for an enterprise

Returns a token that you can pass to the config script. The token expires after one hour.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Example using registration token

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

./config.sh --url https://github.com/enterprises/octo-enterprise --token TOKEN

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/enterprises/{enterprise}/actions/runners/registration-token
curl \ -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/runners/registration-token

Response

Status: 201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

Create a remove token for an enterprise

Returns a token that you can pass to the config script to remove a self-hosted runner from an enterprise. The token expires after one hour.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Example using remove token

To remove your self-hosted runner from an enterprise, replace TOKEN with the remove token provided by this endpoint.

./config.sh remove --token TOKEN

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/enterprises/{enterprise}/actions/runners/remove-token
curl \ -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/runners/remove-token

Response

Status: 201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

Get a self-hosted runner for an enterprise

Gets a specific self-hosted runner configured in an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/enterprises/{enterprise}/actions/runners/{runner_id}
curl \ -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/runners/RUNNER_ID

Response

Status: 200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "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" } ] }

Delete a self-hosted runner from an enterprise

Forces the removal of a self-hosted runner from an enterprise. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
204

No Content

Code samples

delete/enterprises/{enterprise}/actions/runners/{runner_id}
curl \ -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/runners/RUNNER_ID

Response

Status: 204

List labels for a self-hosted runner for an enterprise

Lists all labels for a self-hosted runner configured in an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

Code samples

get/enterprises/{enterprise}/actions/runners/{runner_id}/labels
curl \ -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/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 4, "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" } ] }

Add custom labels to a self-hosted runner for an enterprise

Add custom labels to a self-hosted runner configured in an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

Body parameters
Name, Type, BESCHREIBUNG
labelsarray of stringsRequired

The names of the custom labels to add to the runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

post/enterprises/{enterprise}/actions/runners/{runner_id}/labels
curl \ -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/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "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 custom labels for a self-hosted runner for an enterprise

Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in an enterprise.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

Body parameters
Name, Type, BESCHREIBUNG
labelsarray of stringsRequired

The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

put/enterprises/{enterprise}/actions/runners/{runner_id}/labels
curl \ -X PUT \ -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/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "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" } ] }

Remove all custom labels from a self-hosted runner for an enterprise

Remove all custom labels from a self-hosted runner configured in an enterprise. Returns the remaining read-only labels from the runner.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

delete/enterprises/{enterprise}/actions/runners/{runner_id}/labels
curl \ -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/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

Remove a custom label from a self-hosted runner for an enterprise

Remove a custom label from a self-hosted runner configured in an enterprise. Returns the remaining labels from the runner.

This endpoint returns a 404 Not Found status if the custom label is not present on the runner.

You must authenticate using an access token with the manage_runners:enterprise scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
enterprisestringRequired

The slug version of the enterprise name. You can also substitute this value with the enterprise id.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

namestringRequired

The name of a self-hosted runner's custom label.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

delete/enterprises/{enterprise}/actions/runners/{runner_id}/labels/{name}
curl \ -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/runners/RUNNER_ID/labels/NAME

Response

Status: 200
{ "total_count": 4, "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" } ] }

List self-hosted runners for an organization

Works with GitHub Apps

Lists all self-hosted runners configured in an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

Query parameters
Name, Type, BESCHREIBUNG
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/orgs/{org}/actions/runners
curl \ -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/runners

Response

Status: 200
{ "total_count": 2, "runners": [ { "id": 23, "name": "linux_runner", "os": "linux", "status": "online", "busy": true, "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, "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" } ] } ] }

List runner applications for an organization

Works with GitHub Apps

Lists binaries for the runner application that you can download and run.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/orgs/{org}/actions/runners/downloads
curl \ -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/runners/downloads

Response

Status: 200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

Create a registration token for an organization

Works with GitHub Apps

Returns a token that you can pass to the config script. The token expires after one hour.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Example using registration token

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

./config.sh --url https://github.com/octo-org --token TOKEN

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/orgs/{org}/actions/runners/registration-token
curl \ -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/runners/registration-token

Response

Status: 201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

Create a remove token for an organization

Works with GitHub Apps

Returns a token that you can pass to the config script to remove a self-hosted runner from an organization. The token expires after one hour.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Example using remove token

To remove your self-hosted runner from an organization, replace TOKEN with the remove token provided by this endpoint.

./config.sh remove --token TOKEN

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/orgs/{org}/actions/runners/remove-token
curl \ -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/runners/remove-token

Response

Status: 201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

Get a self-hosted runner for an organization

Works with GitHub Apps

Gets a specific self-hosted runner configured in an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/orgs/{org}/actions/runners/{runner_id}
curl \ -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/runners/RUNNER_ID

Response

Status: 200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "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" } ] }

Delete a self-hosted runner from an organization

Works with GitHub Apps

Forces the removal of a self-hosted runner from an organization. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
204

No Content

Code samples

delete/orgs/{org}/actions/runners/{runner_id}
curl \ -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/runners/RUNNER_ID

Response

Status: 204

List labels for a self-hosted runner for an organization

Works with GitHub Apps

Lists all labels for a self-hosted runner configured in an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

Code samples

get/orgs/{org}/actions/runners/{runner_id}/labels
curl \ -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/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 4, "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" } ] }

Add custom labels to a self-hosted runner for an organization

Works with GitHub Apps

Add custom labels to a self-hosted runner configured in an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

Body parameters
Name, Type, BESCHREIBUNG
labelsarray of stringsRequired

The names of the custom labels to add to the runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

post/orgs/{org}/actions/runners/{runner_id}/labels
curl \ -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/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "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 custom labels for a self-hosted runner for an organization

Works with GitHub Apps

Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in an organization.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

Body parameters
Name, Type, BESCHREIBUNG
labelsarray of stringsRequired

The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

put/orgs/{org}/actions/runners/{runner_id}/labels
curl \ -X PUT \ -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/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "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" } ] }

Remove all custom labels from a self-hosted runner for an organization

Works with GitHub Apps

Remove all custom labels from a self-hosted runner configured in an organization. Returns the remaining read-only labels from the runner.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

Code samples

delete/orgs/{org}/actions/runners/{runner_id}/labels
curl \ -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/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

Remove a custom label from a self-hosted runner for an organization

Works with GitHub Apps

Remove a custom label from a self-hosted runner configured in an organization. Returns the remaining labels from the runner.

This endpoint returns a 404 Not Found status if the custom label is not present on the runner.

You must authenticate using an access token with the admin:org scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
orgstringRequired

The organization name. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

namestringRequired

The name of a self-hosted runner's custom label.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

delete/orgs/{org}/actions/runners/{runner_id}/labels/{name}
curl \ -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/runners/RUNNER_ID/labels/NAME

Response

Status: 200
{ "total_count": 4, "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" } ] }

List self-hosted runners for a repository

Works with GitHub Apps

Lists all self-hosted runners configured in a repository. You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

Query parameters
Name, Type, BESCHREIBUNG
per_pageinteger

The number of results per page (max 100).

Default: 30

pageinteger

Page number of the results to fetch.

Default: 1

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/repos/{owner}/{repo}/actions/runners
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners

Response

Status: 200
{ "total_count": 2, "runners": [ { "id": 23, "name": "linux_runner", "os": "linux", "status": "online", "busy": true, "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, "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" } ] } ] }

List runner applications for a repository

Works with GitHub Apps

Lists binaries for the runner application that you can download and run.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/repos/{owner}/{repo}/actions/runners/downloads
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/downloads

Response

Status: 200
[ { "os": "osx", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-osx-x64-2.164.0.tar.gz", "filename": "actions-runner-osx-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-x64-2.164.0.tar.gz", "filename": "actions-runner-linux-x64-2.164.0.tar.gz" }, { "os": "linux", "architecture": "arm", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm-2.164.0.tar.gz", "filename": "actions-runner-linux-arm-2.164.0.tar.gz" }, { "os": "win", "architecture": "x64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-win-x64-2.164.0.zip", "filename": "actions-runner-win-x64-2.164.0.zip" }, { "os": "linux", "architecture": "arm64", "download_url": "https://github.com/actions/runner/releases/download/v2.164.0/actions-runner-linux-arm64-2.164.0.tar.gz", "filename": "actions-runner-linux-arm64-2.164.0.tar.gz" } ]

Create a registration token for a repository

Works with GitHub Apps

Returns a token that you can pass to the config script. The token expires after one hour. You must authenticate using an access token with the repo scope to use this endpoint.

Example using registration token

Configure your self-hosted runner, replacing TOKEN with the registration token provided by this endpoint.

./config.sh --url https://github.com/octo-org/octo-repo-artifacts --token TOKEN

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/repos/{owner}/{repo}/actions/runners/registration-token
curl \ -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/repos/OWNER/REPO/actions/runners/registration-token

Response

Status: 201
{ "token": "LLBF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-22T12:13:35.123-08:00" }

Create a remove token for a repository

Works with GitHub Apps

Returns a token that you can pass to remove a self-hosted runner from a repository. The token expires after one hour. You must authenticate using an access token with the repo scope to use this endpoint.

Example using remove token

To remove your self-hosted runner from a repository, replace TOKEN with the remove token provided by this endpoint.

./config.sh remove --token TOKEN

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

HTTP response status codes

Status codeBESCHREIBUNG
201

Created

Code samples

post/repos/{owner}/{repo}/actions/runners/remove-token
curl \ -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/repos/OWNER/REPO/actions/runners/remove-token

Response

Status: 201
{ "token": "AABF3JGZDX3P5PMEXLND6TS6FCWO6", "expires_at": "2020-01-29T12:13:35.123-08:00" }

Get a self-hosted runner for a repository

Works with GitHub Apps

Gets a specific self-hosted runner configured in a repository.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

Code samples

get/repos/{owner}/{repo}/actions/runners/{runner_id}
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID

Response

Status: 200
{ "id": 23, "name": "MBP", "os": "macos", "status": "online", "busy": true, "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" } ] }

Delete a self-hosted runner from a repository

Works with GitHub Apps

Forces the removal of a self-hosted runner from a repository. You can use this endpoint to completely remove the runner when the machine you were using no longer exists.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
204

No Content

Code samples

delete/repos/{owner}/{repo}/actions/runners/{runner_id}
curl \ -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/repos/OWNER/REPO/actions/runners/RUNNER_ID

Response

Status: 204

List labels for a self-hosted runner for a repository

Works with GitHub Apps

Lists all labels for a self-hosted runner configured in a repository.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

Code samples

get/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 4, "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" } ] }

Add custom labels to a self-hosted runner for a repository

Works with GitHub Apps

Add custom labels to a self-hosted runner configured in a repository.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

Body parameters
Name, Type, BESCHREIBUNG
labelsarray of stringsRequired

The names of the custom labels to add to the runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

post/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl \ -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/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "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 custom labels for a self-hosted runner for a repository

Works with GitHub Apps

Remove all previous custom labels and set the new custom labels for a specific self-hosted runner configured in a repository.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

Body parameters
Name, Type, BESCHREIBUNG
labelsarray of stringsRequired

The names of the custom labels to set for the runner. You can pass an empty array to remove all custom labels.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

put/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>"\ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels \ -d '{"labels":["gpu","accelerated"]}'

Response

Status: 200
{ "total_count": 4, "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" } ] }

Remove all custom labels from a self-hosted runner for a repository

Works with GitHub Apps

Remove all custom labels from a self-hosted runner configured in a repository. Returns the remaining read-only labels from the runner.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

Code samples

delete/repos/{owner}/{repo}/actions/runners/{runner_id}/labels
curl \ -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/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels

Response

Status: 200
{ "total_count": 3, "labels": [ { "id": 5, "name": "self-hosted", "type": "read-only" }, { "id": 7, "name": "X64", "type": "read-only" }, { "id": 20, "name": "macOS", "type": "read-only" } ] }

Remove a custom label from a self-hosted runner for a repository

Works with GitHub Apps

Remove a custom label from a self-hosted runner configured in a repository. Returns the remaining labels from the runner.

This endpoint returns a 404 Not Found status if the custom label is not present on the runner.

You must authenticate using an access token with the repo scope to use this endpoint.

Parameters

Headers
Name, Type, BESCHREIBUNG
acceptstring

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

Path parameters
Name, Type, BESCHREIBUNG
ownerstringRequired

The account owner of the repository. The name is not case sensitive.

repostringRequired

The name of the repository. The name is not case sensitive.

runner_idintegerRequired

Unique identifier of the self-hosted runner.

namestringRequired

The name of a self-hosted runner's custom label.

HTTP response status codes

Status codeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples

delete/repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}
curl \ -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/repos/OWNER/REPO/actions/runners/RUNNER_ID/labels/NAME

Response

Status: 200
{ "total_count": 4, "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" } ] }