REST API endpoints for workflow jobs

Use the REST API to interact with workflow jobs in GitHub Actions.

About workflow jobs in GitHub Actions

You can use the REST API to view logs and workflow jobs in GitHub Actions. A workflow job is a set of steps that execute on the same runner. For more information, see Workflow syntax for GitHub Actions.

Note

Most endpoints use Authorization: Bearer <YOUR-TOKEN> and Accept: application/vnd.github+json headers, plus X-GitHub-Api-Version: 2026-03-10. Curl examples below omit these standard headers for brevity.

Get a job for a workflow run

GET /repos/{owner}/{repo}/actions/jobs/{job_id}

Gets a specific job in a workflow run.
Anyone with read access to the repository can use this endpoint.
If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/jobs/JOB_ID

Response schema (Status: 200):

Download job logs for a workflow run

GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs

Gets a redirect URL to download a plain text file of logs for a workflow job. This link expires after 1 minute. Look
for Location: in the response header to find the URL for the download.
Anyone with read access to the repository can use this endpoint.
If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/jobs/JOB_ID/logs

Response schema (Status: 302):

Download step logs for a workflow run job

GET /repos/{owner}/{repo}/actions/jobs/{job_id}/steps/{step_number}/logs

Gets a redirect URL to download a plain text file of logs for a specific step of a workflow job. This link expires after
1 minute. Look for Location: in the response header to find the URL for the download.
This endpoint is intended for selective retrieval of one step. To download complete job logs, use the
job logs endpoint.
Anyone with read access to the repository can use this endpoint.
If the repository is private, OAuth tokens and personal access tokens (classic) need the repo scope to use this endpoint.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/jobs/JOB_ID/steps/STEP_NUMBER/logs

Response schema (Status: 302):

List jobs for a workflow run attempt

GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs

Lists jobs for a specific workflow run attempt. You can use parameters to narrow the list of results. For more information
about using parameters, see Parameters.
Anyone with read access to the repository can use this endpoint.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/attempts/ATTEMPT_NUMBER/jobs

Response schema (Status: 200):

List jobs for a workflow run

GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs

Lists jobs for a workflow run. You can use parameters to narrow the list of results. For more information
about using parameters, see Parameters.
Anyone with read access to the repository can use this endpoint.
OAuth app tokens and personal access tokens (classic) need the repo scope to use this endpoint with a private repository.

Parameters

Headers

Path and query parameters

HTTP response status codes

Code examples

Example

Request:

curl -L \
  -X GET \
  https://api.github.com/repos/OWNER/REPO/actions/runs/RUN_ID/jobs

Response schema (Status: 200):

Same response schema as List jobs for a workflow run attempt.