List CI checks for a PR's head commit
GET/api/repos/{owner}/{repo}/pulls/{number}/checks
listPullRequestChecks
Derives one check per job of the workflow runs whose trigger commit equals the PR's current head — runs for a previous (stale) head are never counted. One check per context: where several runs report the same context (a re-run attempt, a dispatch on top of a `pull_request` run) the NEWEST run's verdict wins, matching the merge gate. There is no stored checks state; this is a pure projection of the CI runs.
Authentication is not described for this operation in the spec — that does not mean it is public. Check tokens and scopes.
curl
curl -X GET 'https://neosource.dev/api/repos/OWNER/REPO/pulls/NUMBER/checks'fetch
fetch("https://neosource.dev/api/repos/OWNER/REPO/pulls/NUMBER/checks", {
method: "GET",
});Path parameters
ownerrequiredRepository owner or organization slug.
reporequiredRepository name.
numberrequiredChange request number.
Responses
200Derived checks + summary
application/json
Standard errors
Bodies documented once for the whole API — see standard errors.
- 400Bad Request — one of: invalid_input
- 403Forbidden — one of: forbidden
- 404Not Found — one of: not_found
- 423Locked — one of: busy
- 429Rate limited — retry after the `Retry-After` header
- 500Internal server error
- 503Service temporarily unavailable / at capacity — retry after the `Retry-After` header
- 504Gateway timeout — the request exceeded the server's handling budget
Schemas
Referenced above. Listed here rather than expanded inline, so the same definition is not repeated at every level.
CheckState
Wire-level state of one check. Deliberately the four-value GitHub commit-status vocabulary (`pending`/`success`/`failure`/`error`) so run-derived checks and externally-posted statuses (P2.2) aggregate in one space.
"pending""success""failure""error"