GET
GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs — GitHub API
GitHub token (required); https://api.github.com
GitHub APIList jobs for a workflow run
- Base URL
- https://api.github.com
- Auth
- Authorization: Bearer <GITHUB_API_KEY>
- Last verified
- 2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 312 tokens · Vary: Accept
→ 312 tokens · Vary: Accept
Critical gotchas
GitHub recommends an Accept: application/vnd.github+json header and an explicit X-GitHub-Api-Version header.
Fine-grained tokens only authorize repositories and permissions selected when the token is created.
cURL
curl -X GET 'https://api.github.com/repos/example-owner/example-repo/actions/runs/10/jobs?filter=latest&per_page=30&page=1' \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H 'Accept: application/vnd.github+json' \ -H 'X-GitHub-Api-Version: 2026-03-10'
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| owner | path | string | Yes | The account owner of the repository. The name is not case sensitive. |
| repo | path | string | Yes | The name of the repository without the `.git` extension. The name is not case sensitive. |
| run_id | path | integer | Yes | The unique identifier of the workflow run. |
| filter | query | string | No | Filters jobs by their `completed_at` timestamp. `latest` returns jobs from the most recent execution of the workflow run. `all` returns all jobs for a workflow run, including from old executions of the workflow run. |
| per_page | query | integer | No | 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)." |
| page | query | integer | No | The page number of the results to fetch. 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)." |
Response 200 OK
{
"total_count": 0,
"jobs": [
{
"id": 21,
"run_id": 5,
"run_url": "https://api.github.com/repos/github/hello-world/actions/runs/5",
"run_attempt": 1,
"node_id": "MDg6Q2hlY2tSdW40",
"head_sha": "009b8a3a9ccbb128af87f9b1c0f4c62e8a304f6d",
"url": "https://api.github.com/repos/github/hello-world/actions/jobs/21",
"html_url": "https://github.com/github/hello-world/runs/4",
"status": "queued",
"conclusion": "success",
"created_at": "2019-08-08T08:00:00-07:00",
"started_at": "2019-08-08T08:00:00-07:00",
"completed_at": "2019-08-08T08:00:00-07:00",
"name": "test-coverage",
"steps": [
{
"status": "queued",
"conclusion": "success",
"name": "test-coverage",
"number": 1,
"started_at": "2019-08-08T08:00:00-07:00",
"completed_at": "2019-08-08T08:00:00-07:00"
}
],
"check_run_url": "https://api.github.com/repos/github/hello-world/check-runs/4",
"labels": [
"self-hosted",
"foo",
"bar"
],
"runner_id": 1,
"runner_name": "my runner",
"runner_group_id": 2,
"runner_group_name": "my runner group",
"workflow_name": "Build",
"head_branch": "main"
}
]
} Get a free GitHub API key → sponsored Affiliate link - we may earn a commission, at no extra cost to you.