Options
string
required
The commit SHA to get the diff for
string
Base commit SHA to compare against. If not specified, compares against the commit’s parent(s)
boolean
When enabled, concatenate
files[].raw in response order and apply the result against the
selected base with git apply. Changes listed in filteredFiles are not included in the patch.
Defaults to false, preserving review-oriented whitespace suppression.string
Array of file paths to filter the diff. When provided, only returns diffs for the specified files
and bypasses size/type filtering
Response
object
Summary with
files, additions, deletions, and changesarray
List of changed files with
path, oldPath, state, rawState, and diff contentarray
List of filtered files returned as metadata only (for example
path, oldPath, state,
rawState, bytes, and isEof) without diff contentNotes
- For renamed files,
pathis the new location andoldPathis the previous location stateis normalized torenamed, whilerawStatepreserves Git’s original rename code (for exampleR054, where054is the similarity score)- Rename detection follows Git’s default similarity threshold of 50%
- When
gitApplyCompatibleis enabled, concatenatefiles[].rawin response order and apply the result against the selected base withgit apply. Changes listed infilteredFilesare not included in the patch
Additional Notes
- Large files (>500KB) or files with too many changes (>2000 lines) are included in
filtered_fileswithout diff content - Binary files and lock files are automatically filtered
- When
pathis specified, size and type filtering is bypassed—requested files are always returned with full diff content