Takes what reading the repo takes, and seeing the release: a Closed source or Private project’s source is only for its org. The zip is the commit’s files as git has them, made by Patch rather than sent by the release’s creator, and kept for good. 404 for a release that came from no repo.
GET
/
projects
/
{owner}
/
{slug}
/
releases
/
{version}
/
source
The commit a release came from, and a zip of it
curl --request GET \ --url https://patch.gg/api/v1/projects/{owner}/{slug}/releases/{version}/source
A zip of the commit, as git has it: Git LFS files are their pointers, and .gitattributes changes nothing. Patch makes it on submit. Null where it hasn't been asked for.
Show child attributes
{"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/the-commit-a-release-came-from-and-a-zip-of-it","slug":"/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it","pageMetadata":{"title":"The commit a release came from, and a zip of it","description":"Takes what reading the repo takes, and seeing the release: a Closed source or Private project's source is only for its org. The zip is the commit's files as git has them, made by Patch rather than sent by the release's creator, and kept for good. 404 for a release that came from no repo.","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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Takes what reading the repo takes, and seeing the release: a Closed source or Private project’s source is only for its org. The zip is the commit’s files as git has them, made by Patch rather than sent by the release’s creator, and kept for good. 404 for a release that came from no repo.\"\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":"The commit a release came from, and a zip of it","description":"Takes what reading the repo takes, and seeing the release: a Closed source or Private project's source is only for its org. The zip is the commit's files as git has them, made by Patch rather than sent by the release's creator, and kept for good. 404 for a release that came from no repo.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Repos"],"summary":"The commit a release came from, and a zip of it","description":"Takes what reading the repo takes, and seeing the release: a Closed source or Private project's source is only for its org. The zip is the commit's files as git has them, made by Patch rather than sent by the release's creator, and kept for good. 404 for a release that came from no repo.","parameters":["76497f69-3164-4a32-9d54-ab1f418ec6dc","d10e5ece-82c8-4e82-8057-2e184d052071","e32e6043-eadf-49ca-b12f-a244efb95f0d"],"responses":{"200":"ec021a0c-26cf-477b-87bd-8941833920be","308":"da5b80fd-1f42-41ba-92a8-57cac65c29eb","400":"7928d06a-d5df-45b9-a27c-8645516f8d03","401":"86919137-b8ab-40a3-b7a4-929bdb39c964","403":"79014733-8525-413c-a18f-470dde48d731","404":"fa732dbc-dfcf-4fc4-9926-ef9fef44e19b","429":"d9ae5cbf-a6ea-445d-903e-51ddbedfabf1"},"method":"get","type":"path","servers":["dad6a083-e3c9-413e-a466-107b42f9941c"],"security":[],"path":"/projects/{owner}/{slug}/releases/{version}/source","baseUrlOptions":["https://patch.gg/api/v1"],"title":"The commit a release came from, and a zip of it","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"76497f69-3164-4a32-9d54-ab1f418ec6dc":{"schema":{"type":"string","example":"patch","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"owner","in":"path"},"d10e5ece-82c8-4e82-8057-2e184d052071":{"schema":{"type":"string","example":"demo-mod","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"slug","in":"path"},"e32e6043-eadf-49ca-b12f-a244efb95f0d":{"schema":{"type":"string","example":"0.1.0","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"version","in":"path"}},"responses":{"ec021a0c-26cf-477b-87bd-8941833920be":{"description":"Where it came from","content":{"application/json":{"schema":{"type":"object","properties":{"commit":{"type":"string","description":"The commit the release came from","isRequired":true,"uniqueKey":"commit","typeLabel":"string"},"tag":{"oneOf":[{"type":"string","description":"The git tag on it","isRequired":true,"uniqueKey":"tag.oneOf.0","typeLabel":"string"},{"type":"null","description":"The git tag on it","isRequired":true,"uniqueKey":"tag.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"tag","typeLabel":"string | null"},"archive":{"oneOf":[{"type":"object","properties":{"status":{"type":"string","enum":["building","ready","failed"],"description":"building: on its way. ready: stored for good. failed: it couldn't be made, and Patch tries again a few times.","isRequired":true,"uniqueKey":"archive.oneOf.0.status","typeLabel":"enum\u003cstring>"},"format":{"type":"string","enum":["zip"],"isRequired":true,"uniqueKey":"archive.oneOf.0.format","typeLabel":"enum\u003cstring>"},"sha256":{"oneOf":[{"type":"string","description":"Once it's ready","isRequired":true,"uniqueKey":"archive.oneOf.0.sha256.oneOf.0","typeLabel":"string"},{"type":"null","description":"Once it's ready","isRequired":true,"uniqueKey":"archive.oneOf.0.sha256.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"archive.oneOf.0.sha256","typeLabel":"string | null"},"size":{"oneOf":[{"type":"integer","description":"Once it's ready","isRequired":true,"uniqueKey":"archive.oneOf.0.size.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Once it's ready","isRequired":true,"uniqueKey":"archive.oneOf.0.size.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"archive.oneOf.0.size","typeLabel":"integer | null"},"url":{"oneOf":[{"type":"string","description":"A link for 15 minutes, once it's ready","isRequired":true,"uniqueKey":"archive.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","description":"A link for 15 minutes, once it's ready","isRequired":true,"uniqueKey":"archive.oneOf.0.url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"archive.oneOf.0.url","typeLabel":"string | null"},"expires_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"archive.oneOf.0.expires_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"archive.oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"archive.oneOf.0.expires_at","typeLabel":"string | null"},"error":{"oneOf":[{"type":"string","description":"What went wrong the last time, for the project's org","isRequired":true,"uniqueKey":"archive.oneOf.0.error.oneOf.0","typeLabel":"string"},{"type":"null","description":"What went wrong the last time, for the project's org","isRequired":true,"uniqueKey":"archive.oneOf.0.error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"archive.oneOf.0.error","typeLabel":"string | null"}},"required":["status","format","sha256","size","url","expires_at","error"],"description":"A zip of the commit, as git has it: Git LFS files are their pointers, and .gitattributes changes nothing. Patch makes it on submit. Null where it hasn't been asked for.","isRequired":true,"uniqueKey":"archive.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"status":{"type":"string","enum":["building","ready","failed"],"description":"building: on its way. ready: stored for good. failed: it couldn't be made, and Patch tries again a few times."},"format":{"type":"string","enum":["zip"]},"sha256":{"oneOf":[{"type":"string","description":"Once it's ready"},{"type":"null","description":"Once it's ready"}]},"size":{"oneOf":[{"type":"integer","description":"Once it's ready"},{"type":"null","description":"Once it's ready"}]},"url":{"oneOf":[{"type":"string","description":"A link for 15 minutes, once it's ready"},{"type":"null","description":"A link for 15 minutes, once it's ready"}]},"expires_at":{"oneOf":[{"type":"string"},{"type":"null"}]},"error":{"oneOf":[{"type":"string","description":"What went wrong the last time, for the project's org"},{"type":"null","description":"What went wrong the last time, for the project's org"}]}},"required":["status","format","sha256","size","url","expires_at","error"],"description":"A zip of the commit, as git has it: Git LFS files are their pointers, and .gitattributes changes nothing. Patch makes it on submit. Null where it hasn't been asked for.","isRequired":true,"uniqueKey":"archive.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"archive","typeLabel":"object | null"}},"required":["commit","tag","archive"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"commit":"\u003cstring>","tag":"\u003cstring>","archive":{"status":"building","format":"zip","sha256":"\u003cstring>","size":123,"url":"\u003cstring>","expires_at":"\u003cstring>","error":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"da5b80fd-1f42-41ba-92a8-57cac65c29eb":{"description":"Renamed; follow the Location header","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"7928d06a-d5df-45b9-a27c-8645516f8d03":{"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"},"86919137-b8ab-40a3-b7a4-929bdb39c964":{"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"},"79014733-8525-413c-a18f-470dde48d731":{"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"},"fa732dbc-dfcf-4fc4-9926-ef9fef44e19b":{"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"},"d9ae5cbf-a6ea-445d-903e-51ddbedfabf1":{"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"}},"security":{},"servers":{"dad6a083-e3c9-413e-a466-107b42f9941c":{"url":"https://patch.gg/api/v1"}}},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"patch-b3bbfc3b","siteName":"Patch","title":"The commit a release came from, and a zip of it - Patch","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T06:26:35.525Z","originalFileLocation":"api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it.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=\"Takes what reading the repo takes, and seeing the release: a Closed source or Private project\u0026#x27;s source is only for its org. The zip is the commit\u0026#x27;s files as git has them, made by Patch rather than sent by the release\u0026#x27;s creator, and kept for good. 404 for a release that came from no repo.\">\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=\"The commit a release came from, and a zip of it - Patch\">\u003cmeta data-mint-head property=\"og:description\" content=\"Takes what reading the repo takes, and seeing the release: a Closed source or Private project\u0026#x27;s source is only for its org. The zip is the commit\u0026#x27;s files as git has them, made by Patch rather than sent by the release\u0026#x27;s creator, and kept for good. 404 for a release that came from no repo.\">\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/the-commit-a-release-came-from-and-a-zip-of-it\">\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=\"The commit a release came from, and a zip of it - Patch\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Takes what reading the repo takes, and seeing the release: a Closed source or Private project\u0026#x27;s source is only for its org. The zip is the commit\u0026#x27;s files as git has them, made by Patch rather than sent by the release\u0026#x27;s creator, and kept for good. 404 for a release that came from no repo.\">\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/the-commit-a-release-came-from-and-a-zip-of-it\">\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/the-commit-a-release-came-from-and-a-zip-of-it.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/the-commit-a-release-came-from-and-a-zip-of-it#webpage\",\"url\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it\",\"name\":\"The commit a release came from, and a zip of it\",\"description\":\"Takes what reading the repo takes, and seeing the release: a Closed source or Private project's source is only for its org. The zip is the commit's files as git has them, made by Patch rather than sent by the release's creator, and kept for good. 404 for a release that came from no repo.\",\"dateModified\":\"2026-11-09T06:26:35.525Z\",\"isPartOf\":{\"@id\":\"https://docs.patch.gg#website\"},\"breadcrumb\":{\"@id\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it#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\":\"The commit a release came from, and a zip of it\",\"item\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it#apireference\",\"headline\":\"The commit a release came from, and a zip of it\",\"name\":\"The commit a release came from, and a zip of it\",\"description\":\"Takes what reading the repo takes, and seeing the release: a Closed source or Private project's source is only for its org. The zip is the commit's files as git has them, made by Patch rather than sent by the release's creator, and kept for good. 404 for a release that came from no repo.\",\"url\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it\",\"mainEntityOfPage\":{\"@id\":\"https://docs.patch.gg/api-reference/repos/the-commit-a-release-came-from-and-a-zip-of-it#webpage\"},\"image\":\"https://patch.gg/link-preview.png\",\"dateModified\":\"2026-11-09T06:26:35.525Z\",\"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","description":"The forks you can reach, at most 100: first your orgs' own, whatever their visibility, then everyone else's open ones, each newest first. Yours say `yours`, so this finds your fork of a repo. Anyone else's fork is quiet until it has a public release: it's left out here, as it is from `fork_count` and from search, though its own page and repo are where they were.","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","description":"The one search behind the search bar, pch search and MCP: every open repo, work in progress included, except a fork with no public release yet, which stays quiet until it has one. The same results for everyone, signed in or not. Matches by words and by meaning, and ranks by relevance, then forks and plays; an exact name or handle comes first. `q` left out lists what the filters leave, Patch's own first, then most popular first. `kind`, `category`, `engine` and `license` (comma-separated) keep repos with any of those values, and a repo that doesn't say is left out. `category` is the project's own categories, the ones its owner set. `license` matches its code or art licence. `owner` (comma-separated) keeps the repos of those people or orgs, as their profile lists them. Results can shift between pages, as with any ranking, and stop after 500. `meaning` is false where only words are matching: where the model isn't available. Limited by address, or by account when signed in. `doors=true` also answers what Discover's search shows beside the results, and with no `kind`, answers for the first of its doors with anything behind it. A query is logged to tune ranking, with no account or address, and without what looks personal (product/design/api.md); `x-patch-search-log: off` skips that, and `x-patch-search-replaces` names the search this one takes the place of while someone types.","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","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","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":"The commit a release came from, and a zip of it - 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"]}