At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file’s patch in git diff’s hunks. In a repo’s first commit, every file is added. A file with no patch says why in no_patch, and truncated says when anything was left out. 404 ref_not_found.
GET
/
projects
/
{owner}
/
{slug}
/
repo
/
commit
One commit and what it changes
curl --request GET \ --url https://patch.gg/api/v1/projects/{owner}/{slug}/repo/commit
Whether anything was left out: patches stop at 300 files or 2 MiB, and the list at 3,000 files.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Patch","description":"Patch (patch.gg) is where people and their coding agents make browser games and mods and publish them, and where players play them. Coding agents: set up with https://patch.gg/llms.txt.","colors":{"primary":"#000000","light":"#F53CD1","dark":"#000000"},"logo":{"light":"https://mintcdn.com/patch-b3bbfc3b/KgoraNtrAh08SBeG/logo/light.svg?fit=max\u0026auto=format\u0026n=KgoraNtrAh08SBeG\u0026q=85\u0026s=92d1677e86684225363eef76f8ec9763","dark":"https://mintcdn.com/patch-b3bbfc3b/KgoraNtrAh08SBeG/logo/light.svg?fit=max\u0026auto=format\u0026n=KgoraNtrAh08SBeG\u0026q=85\u0026s=92d1677e86684225363eef76f8ec9763","href":"https://patch.gg"},"favicon":"https://mintcdn.com/patch-b3bbfc3b/KgoraNtrAh08SBeG/favicon.svg?fit=max\u0026auto=format\u0026n=KgoraNtrAh08SBeG\u0026q=85\u0026s=950620ea63e1e344a23c73e631881f4b","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","javascript","python"]}},"appearance":{"default":"light","strict":true},"background":{"color":{"light":"#FFFFFF","dark":"#FFFFFF"}},"navbar":{"primary":{"type":"button","label":"Open Patch","href":"https://patch.gg"}},"footer":{"socials":{"website":"https://patch.gg","discord":"https://discord.gg/W2VyyKxJy"}},"seo":{"metatags":{"og:image":"https://patch.gg/link-preview.png"}},"fonts":{"family":"Funnel Sans"},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"patch-b3bbfc3b","hasAudioNarration":false,"actualSubdomain":"patch-b3bbfc3b","customDomains":["docs.patch.gg"],"gitSource":{"type":"github","owner":"patch-gg","repo":"patch","deployBranch":"production","contentDirectory":"product/docs","isPrivate":true,"mountPath":"","label":"","_id":"6add1837da589734fa3cbbbc"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af188f79e9a7e27ab8ab02e","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API reference","count":99},{"language":"default","tag":"Endpoints","count":98},{"language":"default","tag":"Repos","count":16},{"language":"default","tag":"Releases","count":14},{"language":"default","tag":"Change requests","count":12},{"language":"default","tag":"GitHub","count":11},{"language":"default","tag":"Projects","count":10},{"language":"default","tag":"Docs","count":9},{"language":"default","tag":"Review","count":9},{"language":"default","tag":"Account","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* latin-ext */\n@font-face {\n font-family: 'Red Hat Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/redhatmono/v16/jVyN7nDnA2uf2zVvFAhhzEsUVuxSzgw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Red Hat Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/redhatmono/v16/jVyN7nDnA2uf2zVvFAhhzEsUWOxS.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Red Hat Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/redhatmono/v16/jVyN7nDnA2uf2zVvFAhhzEsUVuxSzgw.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Red Hat Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/redhatmono/v16/jVyN7nDnA2uf2zVvFAhhzEsUWOxS.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n@font-face{font-family:\"Patch Pixel\";src:url(\"/fonts/PatchPixel-Regular.woff2\") format(\"woff2\");font-weight:400;font-display:swap}:root{--patch-pink: #f53cd1;--patch-line: #e5e5e5}#page-title,h1#page-title{font-family:\"Patch Pixel\", \"Funnel Sans\", sans-serif;font-weight:400;font-size:36px;line-height:45px;letter-spacing:0;-webkit-font-smoothing:none}code,pre,kbd{font-family:\"Red Hat Mono\", ui-monospace, monospace!important}.rounded,.rounded-sm,.rounded-md,.rounded-lg,.rounded-xl,.rounded-2xl,.rounded-3xl,.rounded-full:not(img):not(svg),button,input,pre,code,img,video{border-radius:0!important}.shadow,.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl{box-shadow:none!important}.prose a:not(.card):not([class*=\"card\"]){text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px}::selection{background:var(--patch-pink);color:#ffffff}"}],"page":{"pagePath":"api-reference/repos/one-commit-and-what-it-changes","slug":"/api-reference/repos/one-commit-and-what-it-changes","pageMetadata":{"title":"One commit and what it changes","description":"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file's patch in `git diff`'s hunks. In a repo's first commit, every file is added. A file with no patch says why in `no_patch`, and `truncated` says when anything was left out. 404 `ref_not_found`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/commit","href":"/api-reference/repos/one-commit-and-what-it-changes","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file’s patch in \", _jsx(_components.code, {\n children: \"git diff\"\n }), \"’s hunks. In a repo’s first commit, every file is added. A file with no patch says why in \", _jsx(_components.code, {\n children: \"no_patch\"\n }), \", and \", _jsx(_components.code, {\n children: \"truncated\"\n }), \" says when anything was left out. 404 \", _jsx(_components.code, {\n children: \"ref_not_found\"\n }), \".\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"One commit and what it changes","description":"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file's patch in `git diff`'s hunks. In a repo's first commit, every file is added. A file with no patch says why in `no_patch`, and `truncated` says when anything was left out. 404 `ref_not_found`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/commit","href":"/api-reference/repos/one-commit-and-what-it-changes","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Repos"],"summary":"One commit and what it changes","description":"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file's patch in `git diff`'s hunks. In a repo's first commit, every file is added. A file with no patch says why in `no_patch`, and `truncated` says when anything was left out. 404 `ref_not_found`.","parameters":["23ae768f-6c7a-4e62-8086-407b2cbcc324","d57dc44b-a91b-4e0b-bca8-d629f89fc8b5","e8d2df68-1aca-455f-84dc-e830e2cfed6b"],"responses":{"200":"bbcb1ae1-ead2-42f3-8b94-b11d492632be","308":"f35055e5-39a9-4fe4-ab32-3d175bdbe69b","400":"a6acb2af-8ed4-4222-8f1b-cf9df1f3f9cc","401":"be553e99-dc0b-484c-979b-5ab0300fc3c6","403":"d066a815-6ff3-44c6-beae-4e3ee4ace01b","404":"e1b3b287-e542-47f9-acff-8cbc52cbc8a4","409":"e86462f9-dff3-4ab8-b05c-2778ae1ace8f","429":"e9cdf272-297a-40d1-b4e0-962fac691d01","502":"02946b8c-12ef-4acb-b99c-5d0696cf313e","503":"0307ef1f-8cd6-44c3-bd2f-1ce86bb03832"},"method":"get","type":"path","servers":["dad6a083-e3c9-413e-a466-107b42f9941c"],"security":[],"path":"/projects/{owner}/{slug}/repo/commit","baseUrlOptions":["https://patch.gg/api/v1"],"title":"One commit and what it changes","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"23ae768f-6c7a-4e62-8086-407b2cbcc324":{"schema":{"type":"string","example":"patch","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"owner","in":"path"},"d57dc44b-a91b-4e0b-bca8-d629f89fc8b5":{"schema":{"type":"string","example":"demo-mod","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"slug","in":"path"},"e8d2df68-1aca-455f-84dc-e830e2cfed6b":{"schema":{"type":"string","pattern":"^\\S{1,255}$","description":"A branch, a tag or a full commit hash: the default branch unless you say. A branch comes before a tag of the same name, and `refs/tags/v1` says which.","example":"main","isRequired":false,"uniqueKey":"","typeLabel":"string"},"required":false,"description":"A branch, a tag or a full commit hash: the default branch unless you say. A branch comes before a tag of the same name, and `refs/tags/v1` says which.","name":"ref","in":"query"}},"responses":{"bbcb1ae1-ead2-42f3-8b94-b11d492632be":{"description":"The commit","content":{"application/json":{"schema":{"type":"object","required":["ref","base","files","truncated","hash","message","parents","author","committer","authored_at","committed_at"],"properties":{"hash":{"type":"string","isRequired":true,"uniqueKey":"hash","typeLabel":"string"},"message":{"type":"string","description":"Its message, its first 64 KiB at most.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"parents":{"type":"array","items":{"type":"string","uniqueKey":"parents.items.[INDEX]","typeLabel":"string"},"description":"Empty for a repo's first commit.","isRequired":true,"uniqueKey":"parents","typeLabel":"string[]"},"author":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"author.name","typeLabel":"string"},"email":{"type":"string","isRequired":true,"uniqueKey":"author.email","typeLabel":"string"}},"required":["name","email"],"isRequired":true,"uniqueKey":"author","typeLabel":"object"},"committer":{"type":"object","properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"committer.name","typeLabel":"string"},"email":{"type":"string","isRequired":true,"uniqueKey":"committer.email","typeLabel":"string"}},"required":["name","email"],"isRequired":true,"uniqueKey":"committer","typeLabel":"object"},"authored_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"authored_at","typeLabel":"string\u003cdate-time>"},"committed_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"committed_at","typeLabel":"string\u003cdate-time>"},"ref":{"type":"string","description":"The branch, tag or full commit hash it was asked for: the default branch unless given.","isRequired":true,"uniqueKey":"ref","typeLabel":"string"},"base":{"oneOf":[{"type":"string","description":"The commit `files` compares it to: its first parent. Null for a first commit.","isRequired":true,"uniqueKey":"base.oneOf.0","typeLabel":"string"},{"type":"null","description":"The commit `files` compares it to: its first parent. Null for a first commit.","isRequired":true,"uniqueKey":"base.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"base","typeLabel":"string | null"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","isRequired":true,"uniqueKey":"files.items.[INDEX].path","typeLabel":"string"},"old_path":{"oneOf":[{"type":"string","description":"Where it was, when it moved.","isRequired":true,"uniqueKey":"files.items.[INDEX].old_path.oneOf.0","typeLabel":"string"},{"type":"null","description":"Where it was, when it moved.","isRequired":true,"uniqueKey":"files.items.[INDEX].old_path.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].old_path","typeLabel":"string | null"},"status":{"type":"string","enum":["added","modified","deleted","renamed"],"isRequired":true,"uniqueKey":"files.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"type":{"type":"string","enum":["blob","exec","symlink","gitlink"],"isRequired":true,"uniqueKey":"files.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"old_blob":{"oneOf":[{"type":"string","description":"Its git object before, shortened. For a submodule, the whole commit.","isRequired":true,"uniqueKey":"files.items.[INDEX].old_blob.oneOf.0","typeLabel":"string"},{"type":"null","description":"Its git object before, shortened. For a submodule, the whole commit.","isRequired":true,"uniqueKey":"files.items.[INDEX].old_blob.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].old_blob","typeLabel":"string | null"},"blob":{"oneOf":[{"type":"string","description":"Its git object after, shortened. For a submodule, the whole commit.","isRequired":true,"uniqueKey":"files.items.[INDEX].blob.oneOf.0","typeLabel":"string"},{"type":"null","description":"Its git object after, shortened. For a submodule, the whole commit.","isRequired":true,"uniqueKey":"files.items.[INDEX].blob.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].blob","typeLabel":"string | null"},"additions":{"type":"integer","description":"Lines added, when it has a patch.","isRequired":true,"uniqueKey":"files.items.[INDEX].additions","typeLabel":"integer"},"deletions":{"type":"integer","description":"Lines removed, when it has a patch.","isRequired":true,"uniqueKey":"files.items.[INDEX].deletions","typeLabel":"integer"},"patch":{"oneOf":[{"type":"string","description":"Its changed lines, in the hunks `git diff` shows, with 3 lines around them. Bytes that aren't UTF-8 show as U+FFFD, so a patch with any won't apply.","isRequired":true,"uniqueKey":"files.items.[INDEX].patch.oneOf.0","typeLabel":"string"},{"type":"null","description":"Its changed lines, in the hunks `git diff` shows, with 3 lines around them. Bytes that aren't UTF-8 show as U+FFFD, so a patch with any won't apply.","isRequired":true,"uniqueKey":"files.items.[INDEX].patch.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].patch","typeLabel":"string | null"},"no_patch":{"oneOf":[{"type":"string","enum":["binary","big_file","too_big","too_much",null],"description":"Why a file whose contents changed has no patch. binary: it isn't text. big_file: it's in Git LFS. too_big: its patch is over 1 MiB, or couldn't be read. too_much: the diff is too long to show it.","isRequired":true,"uniqueKey":"files.items.[INDEX].no_patch.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["binary","big_file","too_big","too_much",null],"description":"Why a file whose contents changed has no patch. binary: it isn't text. big_file: it's in Git LFS. too_big: its patch is over 1 MiB, or couldn't be read. too_much: the diff is too long to show it.","isRequired":true,"uniqueKey":"files.items.[INDEX].no_patch.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].no_patch","typeLabel":"enum\u003cstring> | null"},"big_file":{"oneOf":[{"type":"object","properties":{"old":{"oneOf":[{"type":"object","properties":{"sha256":{"type":"string","isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.old.oneOf.0.sha256","typeLabel":"string"},"size":{"type":"integer","isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.old.oneOf.0.size","typeLabel":"integer"}},"required":["sha256","size"],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.old.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"sha256":{"type":"string"},"size":{"type":"integer"}},"required":["sha256","size"],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.old.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.old","typeLabel":"object | null"},"new":{"oneOf":[{"type":"object","properties":{"sha256":{"type":"string","isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.new.oneOf.0.sha256","typeLabel":"string"},"size":{"type":"integer","isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.new.oneOf.0.size","typeLabel":"integer"}},"required":["sha256","size"],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.new.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"sha256":{"type":"string"},"size":{"type":"integer"}},"required":["sha256","size"],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.new.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0.new","typeLabel":"object | null"}},"required":["old","new"],"description":"The Git LFS files it points at, before and after.","isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"old":{"oneOf":[{"type":"object","properties":{"sha256":{"type":"string"},"size":{"type":"integer"}},"required":["sha256","size"]},{"type":"null","properties":{"sha256":{"type":"string"},"size":{"type":"integer"}},"required":["sha256","size"]}]},"new":{"oneOf":[{"type":"object","properties":{"sha256":{"type":"string"},"size":{"type":"integer"}},"required":["sha256","size"]},{"type":"null","properties":{"sha256":{"type":"string"},"size":{"type":"integer"}},"required":["sha256","size"]}]}},"required":["old","new"],"description":"The Git LFS files it points at, before and after.","isRequired":true,"uniqueKey":"files.items.[INDEX].big_file.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"files.items.[INDEX].big_file","typeLabel":"object | null"}},"required":["path","old_path","status","type","old_blob","blob","additions","deletions","patch","no_patch","big_file"],"uniqueKey":"files.items.[INDEX]","typeLabel":"object"},"description":"What it changes. For a first commit, every file is added.","isRequired":true,"uniqueKey":"files","typeLabel":"object[]"},"truncated":{"type":"boolean","description":"Whether anything was left out: patches stop at 300 files or 2 MiB, and the list at 3,000 files.","isRequired":true,"uniqueKey":"truncated","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"hash":"\u003cstring>","message":"\u003cstring>","parents":["\u003cstring>"],"author":{"name":"\u003cstring>","email":"\u003cstring>"},"committer":{"name":"\u003cstring>","email":"\u003cstring>"},"authored_at":"2023-11-07T05:31:56Z","committed_at":"2023-11-07T05:31:56Z","ref":"\u003cstring>","base":"\u003cstring>","files":[{"path":"\u003cstring>","old_path":"\u003cstring>","status":"added","type":"blob","old_blob":"\u003cstring>","blob":"\u003cstring>","additions":123,"deletions":123,"patch":"\u003cstring>","no_patch":"binary","big_file":{"old":{"sha256":"\u003cstring>","size":123},"new":{"sha256":"\u003cstring>","size":123}}}],"truncated":true}}},"exampleType":"generated"}},"exampleType":"generated"},"f35055e5-39a9-4fe4-ab32-3d175bdbe69b":{"description":"Renamed; follow the Location header","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"a6acb2af-8ed4-4222-8f1b-cf9df1f3f9cc":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"be553e99-dc0b-484c-979b-5ab0300fc3c6":{"description":"Not signed in","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d066a815-6ff3-44c6-beae-4e3ee4ace01b":{"description":"Not allowed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e1b3b287-e542-47f9-acff-8cbc52cbc8a4":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e86462f9-dff3-4ab8-b05c-2778ae1ace8f":{"description":"`on_github`: its home is GitHub, which has its files","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e9cdf272-297a-40d1-b4e0-962fac691d01":{"description":"Too many requests: wait as long as `Retry-After` says (`retry_after_s` in `details`), then retry","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"02946b8c-12ef-4acb-b99c-5d0696cf313e":{"description":"It couldn't be read","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0307ef1f-8cd6-44c3-bd2f-1ce86bb03832":{"description":"Reading repos isn't set up here, or the repo is waking up","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"version_exists","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"version_exists","message":"\u003cstring>","details":"\u003cunknown>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{},"servers":{"dad6a083-e3c9-413e-a466-107b42f9941c":{"url":"https://patch.gg/api/v1"}}},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"patch-b3bbfc3b","siteName":"Patch","title":"One commit and what it changes - Patch","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T06:26:35.618Z","originalFileLocation":"api-reference/repos/one-commit-and-what-it-changes.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file\u0026#x27;s patch in git diff\u0026#x27;s hunks. In a repo\u0026#x27;s first commit, every file is added. A file with no patch says why in no_patch, and truncated says when anything was left out. 404 ref_not_found.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Patch\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"One commit and what it changes - Patch\">\u003cmeta data-mint-head property=\"og:description\" content=\"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file\u0026#x27;s patch in git diff\u0026#x27;s hunks. In a repo\u0026#x27;s first commit, every file is added. A file with no patch says why in no_patch, and truncated says when anything was left out. 404 ref_not_found.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Patch\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://patch.gg/link-preview.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"One commit and what it changes - Patch\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file\u0026#x27;s patch in git diff\u0026#x27;s hunks. In a repo\u0026#x27;s first commit, every file is added. A file with no patch says why in no_patch, and truncated says when anything was left out. 404 ref_not_found.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://patch.gg/link-preview.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/patch-b3bbfc3b/0WQM5b1NSkUFum6b/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Patch\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/repos/one-commit-and-what-it-changes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.patch.gg/#organization\",\"name\":\"Patch\",\"url\":\"https://docs.patch.gg\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/patch-b3bbfc3b/KgoraNtrAh08SBeG/logo/light.svg?fit=max\u0026auto=format\u0026n=KgoraNtrAh08SBeG\u0026q=85\u0026s=92d1677e86684225363eef76f8ec9763\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.patch.gg#website\",\"name\":\"Patch\",\"url\":\"https://docs.patch.gg\",\"publisher\":{\"@id\":\"https://docs.patch.gg/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes#webpage\",\"url\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes\",\"name\":\"One commit and what it changes\",\"description\":\"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file's patch in git diff's hunks. In a repo's first commit, every file is added. A file with no patch says why in no_patch, and truncated says when anything was left out. 404 ref_not_found.\",\"dateModified\":\"2026-11-09T06:26:35.618Z\",\"isPartOf\":{\"@id\":\"https://docs.patch.gg#website\"},\"breadcrumb\":{\"@id\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.patch.gg/api-reference/meta/whether-the-api-and-its-database-are-up\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Repos\",\"item\":\"https://docs.patch.gg/api-reference/repos/a-projects-git-repo\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"One commit and what it changes\",\"item\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes#apireference\",\"headline\":\"One commit and what it changes\",\"name\":\"One commit and what it changes\",\"description\":\"At a branch, tag or commit: its message, parents, author and committer, and its files compared to its first parent, with each text file's patch in git diff's hunks. In a repo's first commit, every file is added. A file with no patch says why in no_patch, and truncated says when anything was left out. 404 ref_not_found.\",\"url\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes\",\"mainEntityOfPage\":{\"@id\":\"https://docs.patch.gg/api-reference/repos/one-commit-and-what-it-changes#webpage\"},\"image\":\"https://patch.gg/link-preview.png\",\"dateModified\":\"2026-11-09T06:26:35.618Z\",\"publisher\":{\"@id\":\"https://docs.patch.gg/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.patch.gg#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Patch\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Patch","nav":{"global":null,"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":"/get-started"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/api-reference/introduction"}]},{"group":"Endpoints","pages":[{"group":"Meta","pages":[{"title":"Whether the API and its database are up","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /health","href":"/api-reference/meta/whether-the-api-and-its-database-are-up"}]},{"group":"Account","pages":[{"title":"The signed-in user, their username and orgs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me","href":"/api-reference/account/the-signed-in-user-their-username-and-orgs"},{"title":"Change the name on your account, or give your birthday","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /me","href":"/api-reference/account/change-the-name-on-your-account-or-give-your-birthday"},{"title":"Choose or change your username","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /me/username","href":"/api-reference/account/choose-or-change-your-username"},{"title":"Whether a username or org name is free","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /names/{name}","href":"/api-reference/account/whether-a-username-or-org-name-is-free"},{"title":"Your API keys, newest first","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /tokens","href":"/api-reference/account/your-api-keys-newest-first"},{"title":"Create an API key for an agent or CI","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /tokens","href":"/api-reference/account/create-an-api-key-for-an-agent-or-ci"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /tokens/{id}","href":"/api-reference/account/revoke-an-api-key"},{"title":"Your projects, drafts included, newest first","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/projects","href":"/api-reference/account/your-projects-drafts-included-newest-first"}]},{"group":"Host games","pages":[{"title":"Search the games mods are made for, by name","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /host-games","href":"/api-reference/host-games/search-the-games-mods-are-made-for-by-name"},{"title":"A host game with its store ids and known builds","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /host-games/{slug}","href":"/api-reference/host-games/a-host-game-with-its-store-ids-and-known-builds"},{"title":"Your game requests, newest first, with what Patch's team answered","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /game-requests","href":"/api-reference/host-games/your-game-requests-newest-first-with-what-patchs-team-answered"},{"title":"Ask Patch to support a game","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /game-requests","href":"/api-reference/host-games/ask-patch-to-support-a-game"}]},{"group":"Feedback","pages":[{"title":"Your reports, newest first, with what Patch's team answered","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /feedback","href":"/api-reference/feedback/your-reports-newest-first-with-what-patchs-team-answered"},{"title":"Tell Patch's team what got in your way","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /feedback","href":"/api-reference/feedback/tell-patchs-team-what-got-in-your-way"}]},{"group":"Projects","pages":[{"title":"Search games and mods","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/search","href":"/api-reference/projects/search-games-and-mods"},{"title":"The categories, with how many public projects are in each","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /categories","href":"/api-reference/projects/the-categories-with-how-many-public-projects-are-in-each"},{"title":"Browse public projects, Patch's own first","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects","href":"/api-reference/projects/browse-public-projects-patchs-own-first"},{"title":"Create a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects","href":"/api-reference/projects/create-a-project"},{"title":"A project with its host games and latest public release","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}","href":"/api-reference/projects/a-project-with-its-host-games-and-latest-public-release"},{"title":"Delete a project that's still scratch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /projects/{owner}/{slug}","href":"/api-reference/projects/delete-a-project-thats-still-scratch"},{"title":"Edit a project's listing and source settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /projects/{owner}/{slug}","href":"/api-reference/projects/edit-a-projects-listing-and-source-settings"},{"title":"Claim a project as its original creator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/claim","href":"/api-reference/projects/claim-a-project-as-its-original-creator"},{"title":"Projects you can claim at once as their original creator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/claimable","href":"/api-reference/projects/projects-you-can-claim-at-once-as-their-original-creator"},{"title":"Staff picks, in order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /featured","href":"/api-reference/projects/staff-picks-in-order"}]},{"group":"Releases","pages":[{"title":"Releases you can see, newest first","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/releases","href":"/api-reference/releases/releases-you-can-see-newest-first"},{"title":"Create a draft release and get upload targets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/releases","href":"/api-reference/releases/create-a-draft-release-and-get-upload-targets"},{"title":"A release with its recipe, files and requirements","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/releases/{version}","href":"/api-reference/releases/a-release-with-its-recipe-files-and-requirements"},{"title":"Publish a release, once the person says it's ready","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/releases/{version}/submit","href":"/api-reference/releases/publish-a-release-once-the-person-says-its-ready"},{"title":"Short-lived download links for every file","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/releases/{version}/download","href":"/api-reference/releases/short-lived-download-links-for-every-file"},{"title":"Finish a multipart upload","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /uploads/{id}/complete","href":"/api-reference/releases/finish-a-multipart-upload"},{"title":"Fetch a public GitHub release's files, to make a release from them","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /imports/github","href":"/api-reference/releases/fetch-a-public-github-releases-files-to-make-a-release-from-them"},{"title":"The GitHub repository a project picks up releases from","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/github","href":"/api-reference/releases/the-github-repository-a-project-picks-up-releases-from"},{"title":"Pick up a GitHub repository's new releases by themselves","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /projects/{owner}/{slug}/github","href":"/api-reference/releases/pick-up-a-github-repositorys-new-releases-by-themselves"},{"title":"Stop picking up a GitHub repository's releases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /projects/{owner}/{slug}/github","href":"/api-reference/releases/stop-picking-up-a-github-repositorys-releases"},{"title":"Check now: pick up the repository's latest release if it's new","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/github/check","href":"/api-reference/releases/check-now:-pick-up-the-repositorys-latest-release-if-its-new"},{"title":"Check a recipe, and optionally the files it goes with","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /recipes/validate","href":"/api-reference/releases/check-a-recipe-and-optionally-the-files-it-goes-with"},{"title":"How to build, test and publish on Patch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /guide","href":"/api-reference/releases/how-to-build-test-and-publish-on-patch"},{"title":"Record what a GitHub Actions workflow built","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /provenance","href":"/api-reference/releases/record-what-a-github-actions-workflow-built"}]},{"group":"Media","pages":[{"title":"A project's cover, screenshots and clips, in order","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/media","href":"/api-reference/media/a-projects-cover-screenshots-and-clips-in-order"},{"title":"Add a cover, screenshot or clip, and get where to upload it","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/media","href":"/api-reference/media/add-a-cover-screenshot-or-clip-and-get-where-to-upload-it"},{"title":"Confirm an upload, and start making the media's copies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/media/{id}/complete","href":"/api-reference/media/confirm-an-upload-and-start-making-the-medias-copies"},{"title":"Reorder a project's media","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /projects/{owner}/{slug}/media/order","href":"/api-reference/media/reorder-a-projects-media"},{"title":"Remove media from the listing","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /projects/{owner}/{slug}/media/{id}","href":"/api-reference/media/remove-media-from-the-listing"}]},{"group":"Review","pages":[{"title":"Where a release is in its review: status, checks, findings and test","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/releases/{version}/review","href":"/api-reference/review/where-a-release-is-in-its-review:-status-checks-findings-and-test"},{"title":"Test a release on your PC","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/releases/{version}/tests","href":"/api-reference/review/test-a-release-on-your-pc"},{"title":"A test: its state, each run's checks, and its review","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /tests/{id}","href":"/api-reference/review/a-test:-its-state-each-runs-checks-and-its-review"},{"title":"A test's contact sheets: a frame every 2 seconds, and bursts of consecutive frames, each labelled with its run time","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /tests/{id}/footage","href":"/api-reference/review/a-tests-contact-sheets:-a-frame-every-2-seconds-and-bursts-of-consecutive-frames-each-labelled-with-its-run-time"},{"title":"Send your review of a test's footage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /tests/{id}/review","href":"/api-reference/review/send-your-review-of-a-tests-footage"},{"title":"Cancel a test that hasn't been decided","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /tests/{id}/cancel","href":"/api-reference/review/cancel-a-test-that-hasnt-been-decided"},{"title":"Your test settings: whether your agents' tests start by themselves","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/test-settings","href":"/api-reference/review/your-test-settings:-whether-your-agents-tests-start-by-themselves"},{"title":"Turn your agents' tests starting by themselves on or off","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /me/test-settings","href":"/api-reference/review/turn-your-agents-tests-starting-by-themselves-on-or-off"},{"title":"Publish a release: upload to live in one flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/releases/{version}/publish","href":"/api-reference/review/publish-a-release:-upload-to-live-in-one-flow"}]},{"group":"Assets","pages":[{"title":"Search the asset library","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /assets/search","href":"/api-reference/assets/search-the-asset-library"},{"title":"Fields, values, counts and ranges for a query","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /assets/facets","href":"/api-reference/assets/fields-values-counts-and-ranges-for-a-query"},{"title":"Plan adding assets to a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /assets/plan","href":"/api-reference/assets/plan-adding-assets-to-a-project"},{"title":"A license's name, URL, duties and full text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /assets/licenses/{spdx}","href":"/api-reference/assets/a-licenses-name-url-duties-and-full-text"},{"title":"What an agent should be told about an asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /assets/{id}/mention","href":"/api-reference/assets/what-an-agent-should-be-told-about-an-asset"},{"title":"One asset: variants with file URLs, capabilities per runtime, license and credit","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /assets/{id}","href":"/api-reference/assets/one-asset:-variants-with-file-urls-capabilities-per-runtime-license-and-credit"}]},{"group":"Repos","pages":[{"title":"A project's git repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo","href":"/api-reference/repos/a-projects-git-repo"},{"title":"Change who can reach a repo, the training switch, or change requests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /projects/{owner}/{slug}/repo","href":"/api-reference/repos/change-who-can-reach-a-repo-the-training-switch-or-change-requests"},{"title":"Change a repo's licence, and commit its licence files to say the same","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /projects/{owner}/{slug}/repo/license","href":"/api-reference/repos/change-a-repos-licence-and-commit-its-licence-files-to-say-the-same"},{"title":"Fork a project's repo into a new project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/fork","href":"/api-reference/repos/fork-a-projects-repo-into-a-new-project"},{"title":"A repo's forks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/forks","href":"/api-reference/repos/a-repos-forks"},{"title":"The commit a release came from, and a zip of it","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/releases/{version}/source","href":"/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it"},{"title":"Search every open repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /repos/search","href":"/api-reference/repos/search-every-open-repo"},{"title":"Your orgs' repos, private ones included","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/repos","href":"/api-reference/repos/your-orgs-repos-private-ones-included"},{"title":"A repo's branches and tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/refs","href":"/api-reference/repos/a-repos-branches-and-tags"},{"title":"A folder in a repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/tree","href":"/api-reference/repos/a-folder-in-a-repo"},{"title":"A file in a repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/file","href":"/api-reference/repos/a-file-in-a-repo"},{"title":"Send a browser to a file's bytes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/raw","href":"/api-reference/repos/send-a-browser-to-a-files-bytes"},{"title":"A repo's history","description":"From a branch, tag or commit, newest first, along each commit's first parent. Each row has its subject and not its whole message: `/repo/commit` has that. A page has no more than its `limit`, and can have fewer along a history with many merges. `next_cursor` holds the commit the next page starts from, so pushes in between don't shift it. 404 `ref_not_found`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/commits","href":"/api-reference/repos/a-repos-history"},{"title":"One commit and what it changes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/commit","href":"/api-reference/repos/one-commit-and-what-it-changes"},{"title":"A repo's latest history scan","description":"Members of the owning org. Each secret says its commit, path, line and rule, with the secret itself masked. Patch never stores or returns its value. `will_become_public` is what going open publishes, every author's email included. `up_to_date` is false once a push has landed since it started. With wait, it holds the answer while the scan runs, until it finishes (up to 50 seconds).","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/history-scan","href":"/api-reference/repos/a-repos-latest-history-scan"},{"title":"Scan a repo's whole history before it goes open","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/repo/history-scan","href":"/api-reference/repos/scan-a-repos-whole-history-before-it-goes-open"}]},{"group":"Change requests","pages":[{"title":"A repo's change requests","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/change-requests","href":"/api-reference/change-requests/a-repos-change-requests"},{"title":"Offer a branch to this repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/change-requests","href":"/api-reference/change-requests/offer-a-branch-to-this-repo"},{"title":"A change request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/change-requests/{number}","href":"/api-reference/change-requests/a-change-request"},{"title":"Change a request's title or description","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /projects/{owner}/{slug}/change-requests/{number}","href":"/api-reference/change-requests/change-a-requests-title-or-description"},{"title":"What a change request changes","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/change-requests/{number}/diff","href":"/api-reference/change-requests/what-a-change-request-changes"},{"title":"What Patch's review of a change request says","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/change-requests/{number}/review","href":"/api-reference/change-requests/what-patchs-review-of-a-change-request-says"},{"title":"Merge a change request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/change-requests/{number}/merge","href":"/api-reference/change-requests/merge-a-change-request"},{"title":"Decline a change request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/change-requests/{number}/decline","href":"/api-reference/change-requests/decline-a-change-request"},{"title":"Withdraw a change request","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/change-requests/{number}/withdraw","href":"/api-reference/change-requests/withdraw-a-change-request"},{"title":"A change request's talk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/change-requests/{number}/talk","href":"/api-reference/change-requests/a-change-requests-talk"},{"title":"Post in a change request's talk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/change-requests/{number}/talk","href":"/api-reference/change-requests/post-in-a-change-requests-talk"},{"title":"Delete a post from a change request's talk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /projects/{owner}/{slug}/change-requests/{number}/talk/{id}","href":"/api-reference/change-requests/delete-a-post-from-a-change-requests-talk"}]},{"group":"GitHub","pages":[{"title":"Start linking your GitHub account with a code: for pch and agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /me/github/device","href":"/api-reference/github/start-linking-your-github-account-with-a-code:-for-pch-and-agents"},{"title":"Whether the person has entered the device flow's code","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/github/device/{id}","href":"/api-reference/github/whether-the-person-has-entered-the-device-flows-code"},{"title":"Who you are on GitHub, and where Patch's GitHub App is installed for you","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/github","href":"/api-reference/github/who-you-are-on-github-and-where-patchs-github-app-is-installed-for-you"},{"title":"The repos of one of the app's installations that you can reach","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/github/repos","href":"/api-reference/github/the-repos-of-one-of-the-apps-installations-that-you-can-reach"},{"title":"Connect a GitHub repo to a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /github/connect","href":"/api-reference/github/connect-a-github-repo-to-a-project"},{"title":"The GitHub repo that's a project's repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/repo/github","href":"/api-reference/github/the-github-repo-thats-a-projects-repo"},{"title":"Disconnect a project from its GitHub repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /projects/{owner}/{slug}/repo/github","href":"/api-reference/github/disconnect-a-project-from-its-github-repo"},{"title":"Open a pull request on a connected repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{owner}/{slug}/github/pulls","href":"/api-reference/github/open-a-pull-request-on-a-connected-repo"},{"title":"How a pull request on a connected repo stands","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{owner}/{slug}/github/pulls/{number}","href":"/api-reference/github/how-a-pull-request-on-a-connected-repo-stands"},{"title":"Merge a pull request on a connected repo","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /projects/{owner}/{slug}/github/pulls/{number}/merge","href":"/api-reference/github/merge-a-pull-request-on-a-connected-repo"},{"title":"Your projects whose repo is on GitHub","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /me/github/projects","href":"/api-reference/github/your-projects-whose-repo-is-on-github"}]}]}]}]},"basePath":"","title":"One commit and what it changes - Patch","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}