neosourceDocs
Search docs

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

ownerrequired

Repository owner or organization slug.

string

reporequired

Repository name.

string

oidrequired

The 40-hex SHA-1 commit object ID.

string

ownerrequired

string

reporequired

string

oidrequired

string

Responses

200Commit detail

application/json

CommitResponse

object

authorrequired

CommitSignatureResponse

object

emailrequired

string

namerequired

string

timestamprequired

integerint64

author_account
one of
  • null

  • AuthorRef

    object

    A commit author/committer resolved to a platform account, matched at read time on a **verified** email. `None` when the commit's email is not a verified account (imported history, an unverified address, a bot) — the raw `name`/`email` on the signature is still rendered, as GitHub does.

    account_idrequired

    string

    display_namerequired

    string

    emailrequired

    string

    handlerequired

    string

checks
one of
  • null

  • CommitChecksSummary

    object

    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.

    failedrequired

    integerint64

    pendingrequired

    integerint64

    staterequired
    CommitStatusState
    succeededrequired

    integerint64

    totalrequired

    integerint64

committerrequired

CommitSignatureResponse

object

emailrequired

string

namerequired

string

timestamprequired

integerint64

committer_account
one of
  • null

  • AuthorRef

    object

    A commit author/committer resolved to a platform account, matched at read time on a **verified** email. `None` when the commit's email is not a verified account (imported history, an unverified address, a bot) — the raw `name`/`email` on the signature is still rendered, as GitHub does.

    account_idrequired

    string

    display_namerequired

    string

    emailrequired

    string

    handlerequired

    string

messagerequired

string

oidrequired

string

parentsrequired

array

items

string

pull_request
one of
  • null

  • CommitPullRequestRef

    object

    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

    boolean

    `true` if this commit is the PR's current head; `false` if it is only a historical revision head.

    numberrequired

    integerint32

    statusrequired
    PullRequestStatus
    titlerequired

    string

treerequired

string

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

string

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"

PullRequestStatus

string

Lifecycle status of a pull request.

"open""merged""closed"