Sample - GitHub REST API
GET/repos/{owner}/{repo}/actions/runs/{run_id}/concurrency_groups

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.

  • RetriesRetries up to 2×, 500ms backoff, 30s timeout.

6 parameters
ownerstringrequired
The account owner of the repository. The name is not case sensitive.
repostringrequired
The name of the repository without the `.git` extension. The name is not case sensitive.
run_idintegerrequired
The unique identifier of the workflow run.
per_pageintegeroptional
The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)."
Default:30
beforestringoptional
A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)."
afterstringoptional
A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. For more information, see "[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api)."

3 status codes
200Response
total_countintegerrequired
The total number of concurrency groups this workflow run participates in, derived from the run's configuration. This count is not filtered by whether the run currently holds or is waiting in each group, so it can include groups whose `group_members` array is empty (for example, when the run has already released its lease in that group).
concurrency_groupsarray<object>required
404Resource not found
messagestringoptional
documentation_urlstringoptional
urlstringoptional
statusstringoptional
422Validation failed, or the endpoint has been spammed.
messagestringrequired
documentation_urlstringrequired
errorsarray<object>optional

Error handling

A 404 is returned: Resource not found. A 422 is returned: Validation failed, or the endpoint has been spammed.