Skip to content
GitmoapAPIBeta
Schema

TreeLastCommitsResponse

The last commit to change each entry of one page of a directory listing. Ask with the same ref, path, limit and page as the directory listing and the two line up entry for entry, so a page can show its file list at once and fill in the commits when they arrive.

Shape

  • has_moreboolean
  • itemsarray of TreeEntryCommit
    • The TreeEntryCommit schema
    • namestringThe entry's name within the directory being listed.
    • pathstringThe entry's full path from the repository root — the key to join against a tree listing.
    • typeTreeEntryTypeblobtree
    • commitCommitSummary or nulloptionalThe newest commit that changed this file, or anything inside this directory. Absent when the search reached its limit before finding one; truncated on the response says so.
      • The CommitSummary schema
      • author_namestringThe author's name as recorded in the commit — a git identity, not a gitmoap account.
      • authored_atstringWhen the change was written, ISO 8601.
      • committed_atstringWhen the commit was created, ISO 8601. Later than authored_at after a rebase or a cherry-pick; this is the time a "last updated" column should show.
      • shaCommitHash (string)The full commit SHA.
      • short_shaShortCommitHash (string)The abbreviated SHA, as git chose to abbreviate it in this repository.
      • titlestringThe commit message's first line.
      • author_avatar_urlstring or nulloptionalThe author's avatar, when this instance serves avatars.
      • author_emailEmail (string) or nulloptionalThe author's email as recorded in the commit. Absent when the commit records something that is not an email address; the commit still has its name and message, only no avatar.
  • pageinteger0–∞
  • total_countinteger0–∞
  • truncatedbooleanThe search reached its limit before every entry had an answer. The entries it did not reach carry no commit; they have one, it was simply too far back to find in time. A search that ran out of time is answered with Cache-Control: no-store and no ETag, so asking again searches again; one that reached its limit on commits read gives the same answer every time.
  • commitCommitSummary or nulloptionalThe newest commit that changed anything in this directory.
    • The CommitSummary schema
    • author_namestringThe author's name as recorded in the commit — a git identity, not a gitmoap account.
    • authored_atstringWhen the change was written, ISO 8601.
    • committed_atstringWhen the commit was created, ISO 8601. Later than authored_at after a rebase or a cherry-pick; this is the time a "last updated" column should show.
    • shaCommitHash (string)The full commit SHA.
    • short_shaShortCommitHash (string)The abbreviated SHA, as git chose to abbreviate it in this repository.
    • titlestringThe commit message's first line.
    • author_avatar_urlstring or nulloptionalThe author's avatar, when this instance serves avatars.
    • author_emailEmail (string) or nulloptionalThe author's email as recorded in the commit. Absent when the commit records something that is not an email address; the commit still has its name and message, only no avatar.

Example

Synthesized example
{
"has_more": false,
"items": [
{
"name": "payments-api",
"path": "path-fb22",
"type": "blob"
},
{
"name": "payments-api",
"path": "path-b1b5",
"type": "blob"
}
],
"page": 16,
"total_count": 1,
"truncated": false,
"commit": {
"author_name": "Mara Okafor",
"authored_at": "2026-10-12T08:15:21Z",
"committed_at": "2026-10-12T17:18:48Z",
"sha": "da0a02021cedc6b62d87d3c39f58fa2a8ae9ae11",
"short_sha": "9d85580ce07bae09563e33101acea60d48a63e83",
"title": "Label every synthesized example",
"author_avatar_url": "https://gitmoap.example/acme/16a3d28f",
"author_email": "mara@acme.example"
}
}

Graph

Used inside

No schema contains this one.

Used by

Sent by 0 operations

No operation takes it as a request body.