neosourceDocs
Search docs

Get the combined status for a commit

GET/api/repos/{owner}/{repo}/commits/{sha}/status

getCombinedCommitStatus

Returns the rollup state plus every individual status posted against the commit. Rollup: `failure` if any status is failure/error, `pending` if any is pending or none exist, `success` only when all succeed.

Authentication optional — this operation also accepts anonymous requests. When authenticating, use a bearer token or a session cookie.

curl

curl -X GET 'https://neosource.dev/api/repos/OWNER/REPO/commits/SHA/status' \
  -H 'Authorization: Bearer $NEOSOURCE_TOKEN'

fetch

fetch("https://neosource.dev/api/repos/OWNER/REPO/commits/SHA/status", {
  method: "GET",
  headers: {
    Authorization: "Bearer $NEOSOURCE_TOKEN",
  },
});

Path parameters

ownerrequired

Repository owner or organization slug.

string

reporequired

Repository name.

string

sharequired

The 40-hex SHA-1 commit object ID.

string

ownerrequired

string

reporequired

string

sharequired

string

Responses

200Combined status

application/json

CombinedStatusResponse

object

`GET .../commits/{sha}/status` — the rollup plus every individual status.

sharequired

string

40-hex git SHA-1 the statuses are attached to.

staterequired

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"

statusesrequired

array

items

CommitStatusResponse

object

actor_id

string | null

Account that posted the status.

contextrequired

string

created_atrequired

integerint64

description

string | null

idrequired

string

repo_idrequired

string

sharequired

string

40-hex git SHA-1 of the commit the status is attached to.

staterequired
CommitStatusState
target_url

string | null

updated_atrequired

integerint64

total_countrequired

integerint64

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"