Skip to main content
Die REST-API ist jetzt versioniert. Weitere Informationen findest du unter Informationen zur API-Versionsverwaltung.

REST API endpoints for Actions concurrency groups

Use the REST API to view and manage concurrency groups for GitHub Actions workflows.

List concurrency groups for a repository

Lists the active concurrency groups for a repository.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

Feinkörnige Zugriffstoken für "List concurrency groups for a repository"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Actions" repository permissions (read)

Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.

Parameter für "List concurrency groups for a repository"

Header
Name, Typ, BESCHREIBUNG
accept string

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

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

Abfrageparameter
Name, Typ, BESCHREIBUNG
per_page integer

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

Standard: 30

after string

A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see "Using pagination in the REST API."

HTTP-Antwortstatuscodes für "List concurrency groups for a repository"

StatuscodeBESCHREIBUNG
200

OK

422

Validation failed, or the endpoint has been spammed.

Codebeispiele für "List concurrency groups for a repository"

Anforderungsbeispiel

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

Response

Status: 200
{ "total_count": 2, "concurrency_groups": [ { "group_name": "deploy-prod", "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", "last_acquired_at": "2026-01-15T16:14:23Z" }, { "group_name": "ci-build", "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", "last_acquired_at": "2026-01-15T16:13:55Z" } ] }

Get a concurrency group for a repository

Gets a specific concurrency group for a repository, including all instances in the group's queue. Returns 404 if the group is inactive or does not exist.

Optionally, pass ahead_of_run or ahead_of_job to filter the results to only the items ahead of the specified workflow run or job in the queue, plus the specified item itself (returned as the last element). This is useful for determining what is blocking a particular run or job. Returns 422 if the specified run or job is not in this concurrency group.

When using ahead_of_run, this matches workflow-level concurrency and any reusable-workflow leases held on behalf of that run. Job-level leases within the run are not considered to block the run as a whole. Use ahead_of_job to match job-level concurrency and reusable-workflow leases on the job's ancestor paths.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

Feinkörnige Zugriffstoken für "Get a concurrency group for a repository"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Actions" repository permissions (read)

Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.

Parameter für "Get a concurrency group for a repository"

Header
Name, Typ, BESCHREIBUNG
accept string

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

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

concurrency_group_name string Erforderlich

The name of the concurrency group.

Abfrageparameter
Name, Typ, BESCHREIBUNG
ahead_of_run integer

Filter to items ahead of this workflow run ID in the queue, plus the run itself. Matches workflow-level concurrency and reusable-workflow leases held on behalf of the run. Mutually exclusive with ahead_of_job.

ahead_of_job integer

Filter to items ahead of this job ID in the queue, plus the job itself. Matches job-level concurrency and reusable-workflow leases on the job's ancestor paths. Mutually exclusive with ahead_of_run.

HTTP-Antwortstatuscodes für "Get a concurrency group for a repository"

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Codebeispiele für "Get a concurrency group for a repository"

Anforderungsbeispiel

get/repos/{owner}/{repo}/actions/concurrency_groups/{concurrency_group_name}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/actions/concurrency_groups/CONCURRENCY_GROUP_NAME

Response

Status: 200
{ "group_name": "deploy-prod", "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", "total_count": 3, "group_members": [ { "run_id": 30433642, "run_name": "Deploy to production", "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", "status": "in_progress" }, { "run_id": 30433643, "run_name": "Deploy to production", "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433643", "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433643", "status": "pending" }, { "run_id": 30433644, "run_name": "Deploy hotfix", "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433644", "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644", "job_id": 798245260, "job_name": "deploy", "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433644/job/798245260", "status": "pending" } ] }

List concurrency groups for a workflow run

Lists all concurrency groups associated with a workflow run or its jobs.

The set of groups is derived from the run's configuration, so a group is included even when the run no longer has any items currently holding or waiting in it. In that case the group_members array will be empty. total_count reflects the number of groups the run participates in by configuration, not the number with active items.

This differs from GET /repos/{owner}/{repo}/actions/concurrency_groups/{group_name}, which returns 404 when a group has no active items. That endpoint reports the live state of a group repo-wide, while this endpoint reports the groups associated with a specific run by configuration.

Results are sorted by group name and support cursor-based pagination via before and after. The after cursor paginates forward only and does not emit a rel="prev" Link; use before to page backward from a forward page's next cursor.

OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

Feinkörnige Zugriffstoken für "List concurrency groups for a workflow run"

Dieser Endpunkt funktioniert mit den folgenden differenzierten Tokentypen.:

Das differenzierte Token muss über den folgenden Berechtigungssatz verfügen.:

  • "Actions" repository permissions (read)

Dieser Endpunkt kann ohne Authentifizierung oder die zuvor erwähnten Berechtigungen verwendet werden, wenn nur öffentliche Ressourcen angefordert werden.

Parameter für "List concurrency groups for a workflow run"

Header
Name, Typ, BESCHREIBUNG
accept string

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

Pfadparameter
Name, Typ, BESCHREIBUNG
owner string Erforderlich

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

repo string Erforderlich

The name of the repository without the .git extension. The name is not case sensitive.

run_id integer Erforderlich

The unique identifier of the workflow run.

Abfrageparameter
Name, Typ, BESCHREIBUNG
per_page integer

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

Standard: 30

before string

A cursor, as given in the Link header. If specified, the query only searches for results before this cursor. For more information, see "Using pagination in the REST API."

after string

A cursor, as given in the Link header. If specified, the query only searches for results after this cursor. For more information, see "Using pagination in the REST API."

HTTP-Antwortstatuscodes für "List concurrency groups for a workflow run"

StatuscodeBESCHREIBUNG
200

OK

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Codebeispiele für "List concurrency groups for a workflow run"

Anforderungsbeispiel

get/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/concurrency_groups

Response

Status: 200
{ "total_count": 2, "concurrency_groups": [ { "group_name": "deploy-prod", "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod", "group_members": [ { "run_id": 30433642, "run_name": "Deploy to production", "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", "status": "in_progress", "position": 0, "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/deploy-prod?ahead_of_run=30433642" } ] }, { "group_name": "ci-build", "group_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build", "group_members": [ { "run_id": 30433642, "run_name": "Deploy to production", "run_url": "https://api.github.com/repos/octocat/Hello-World/actions/runs/30433642", "run_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642", "status": "pending", "position": 2, "position_url": "https://api.github.com/repos/octocat/Hello-World/actions/concurrency_groups/ci-build?ahead_of_job=798245260", "job_id": 798245260, "job_name": "build", "job_url": "https://api.github.com/repos/octocat/Hello-World/actions/jobs/798245260", "job_html_url": "https://github.com/octocat/Hello-World/actions/runs/30433642/job/798245260" } ] } ] }