Get commit details
GET/api/repos/{owner}/{repo}/commit/{oid}
getCommitDetail
Returns parsed commit metadata: author, committer, message, parents, and tree OID. The `oid` parameter accepts a 40-hex SHA-1 commit OID that must be reachable from the selected repository.
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/commit/OID'fetch
fetch("https://neosource.dev/api/repos/OWNER/REPO/commit/OID", {
method: "GET",
});Path parameters
ownerrequiredRepository owner or organization slug.
reporequiredRepository name.
oidrequiredThe 40-hex SHA-1 commit object ID.
Responses
200Commit detail
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.
CommitStatusState
State of a single commit status, GitHub-shaped. `Error` is distinct from `Failure` on individual statuses (infrastructure/tooling breakage vs. a real red result) but the combined rollup folds both into `Failure`.
"pending""success""failure""error"
CommitStatusesSummary
The external commit statuses on one commit, rolled up as a single entry.
staterequiredtotalrequired
WorkflowCheck
One workflow's newest run on a commit — one icon of a commit or PR row, beside the workflow's siblings, where a single roll-up would hide which workflow was red (`WorkflowVerdict` in neosource-core). Rows receive these already ordered: by `workflow_path`, then `workflow_id`, an unregistered workflow last — never by state.
run_idrequiredThe newest run (latest attempt) of this workflow on the commit (UUID).
run_numberrequiredskippedrequiredEvery job of the run was skipped: `status` is `succeeded`, but no work ran.
statusrequiredsupersededrequiredThe merge queue superseded and cancelled this run (ADR 0160): render neutral, neither red nor in flight.
workflow_idrequiredWorkflow id (UUID).
workflow_namerequiredThe workflow's declared `name:` as the run pinned it.
workflow_pathThe workflow file's repo path; `null` when the workflow is no longer registered.
PullRequestStatus
Lifecycle status of a pull request.
"open""merged""closed"