List commit history
GET/api/repos/{owner}/{repo}/commits
listRepositoryCommits
Returns a paginated commit log walking from the selected bookmark. Raw commit cursors 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/commits'fetch
fetch("https://neosource.dev/api/repos/OWNER/REPO/commits", {
method: "GET",
});Path parameters
ownerrequiredRepository owner or organization slug.
reporequiredRepository name.
Query parameters
refBookmark name to walk from. Defaults to the repository default branch.
per_pageNumber of commits per page (max 100, default 30).
afterCommit OID to start listing after (exclusive cursor for pagination). Must be reachable from the selected repository.
authorFilter to commits whose author name or email contains this string (case-insensitive). Applied along the branch-scoped walk.
sinceOnly commits authored at/after this RFC3339 timestamp.
untilOnly commits authored at/before this RFC3339 timestamp.
Responses
200Commit list
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 interval in 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.
CommitSignatureResponse
emailrequirednamerequiredtimestamprequired
CommitChecksSummary
Rollup of everything that checked a commit: workflow runs it triggered plus external statuses posted against it. `state` follows [`CommitStatusState::rollup`] — `failure` if anything failed, `pending` while anything is still in flight, `success` only when all green.
failedrequiredpendingrequiredstaterequiredsucceededrequiredtotalrequired
CommitPullRequestRef
The pull request a commit belongs to, resolved at read time by matching the commit against PR heads (`is_head = true`) and historical revision heads (`is_head = false`). `None` when the commit is not any PR's (current or past) head.
is_headrequired`true` if this commit is the PR's current head; `false` if it is only a historical revision head.
numberrequiredstatusrequiredtitlerequired