Starts an upload into the Library. PUT the file’s exact bytes to the returned target, then complete the upload. With sha256, an identical file already in the project comes back ready, with nothing to send.
Makes retries safe: a retry with the same key and body returns the first response for 24 hours instead of repeating the work. Reusing a key with a different body returns 409.
Whether the asset was added to the folder named at create
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"ZeroGen API","description":"Generate images and video with every model in ZeroGen from your own servers.","colors":{"primary":"#18181B","light":"#E4E4E7","dark":"#18181B"},"logo":{"light":"https://mintcdn.com/zero-gen/W2GmhRNTfZqjZw9S/logo/light.svg?fit=max\u0026auto=format\u0026n=W2GmhRNTfZqjZw9S\u0026q=85\u0026s=35d09db4e90566e79f5af1c3d8ffb4be","dark":"https://mintcdn.com/zero-gen/W2GmhRNTfZqjZw9S/logo/dark.svg?fit=max\u0026auto=format\u0026n=W2GmhRNTfZqjZw9S\u0026q=85\u0026s=f4fcd821b66e08a00c2975e2458a4edc"},"favicon":"https://mintcdn.com/zero-gen/W2GmhRNTfZqjZw9S/favicon.svg?fit=max\u0026auto=format\u0026n=W2GmhRNTfZqjZw9S\u0026q=85\u0026s=46d5ff92806d6efc0a27dd88bce49b88","api":{"openapi":"openapi.json","playground":{"display":"simple"},"examples":{"languages":["curl","javascript","python"]}},"contextual":{"options":["copy","view","claude","chatgpt","cursor","vscode","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"zero-gen","hasAudioNarration":false,"actualSubdomain":"zero-gen","customDomains":["docs.zerogen.com"],"gitSource":{"type":"github","owner":"zerogeneration","repo":"platform","deployBranch":"main","contentDirectory":"apps/api-docs","isPrivate":true,"mountPath":"","label":"","_id":"6adcf0cde85b0c9dcc4acad1"},"chroma":{"latestBuiltDeploymentHistoryId":"6add10119e1712172edc1116","collectionId":"5f92acff-b495-46a2-9c1b-66df9fb7c4b7","liveDeploymentHistoryId":"6add10119e1712172edc1116","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6add6db9cd8ebdc75e362e82","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API reference","count":13},{"language":"default","tag":"Guides","count":13},{"language":"default","tag":"Endpoints","count":12},{"language":"default","tag":"Get started","count":5},{"language":"default","tag":"Generations","count":5},{"language":"default","tag":"Generate","count":4},{"language":"default","tag":"Conventions","count":4},{"language":"default","tag":"Uploads","count":3},{"language":"default","tag":"Account","count":2},{"language":"default","tag":"Models","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/uploads/create-an-upload","slug":"/api-reference/uploads/create-an-upload","pageMetadata":{"title":"Create an upload","description":"Starts an upload into the Library. PUT the file's exact bytes to the returned target, then complete the upload. With `sha256`, an identical file already in the project comes back ready, with nothing to send.\n\nNeeds the `uploads:create` scope.","deprecated":null,"version":null,"openapi":"/openapi.json post /uploads","href":"/api-reference/uploads/create-an-upload","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, 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(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Starts an upload into the Library. PUT the file’s exact bytes to the returned target, then complete the upload. With \", _jsx(_components.code, {\n children: \"sha256\"\n }), \", an identical file already in the project comes back ready, with nothing to send.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Needs the \", _jsx(_components.code, {\n children: \"uploads:create\"\n }), \" scope.\"]\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":"Create an upload","description":"Starts an upload into the Library. PUT the file's exact bytes to the returned target, then complete the upload. With `sha256`, an identical file already in the project comes back ready, with nothing to send.\n\nNeeds the `uploads:create` scope.","deprecated":null,"version":null,"openapi":"/openapi.json post /uploads","href":"/api-reference/uploads/create-an-upload","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createUpload","tags":["Uploads"],"summary":"Create an upload","description":"Starts an upload into the Library. PUT the file's exact bytes to the returned target, then complete the upload. With `sha256`, an identical file already in the project comes back ready, with nothing to send.\n\nNeeds the `uploads:create` scope.","parameters":["24a0cc65-07ca-4677-9f20-2ae5258d2d12"],"requestBody":"0f3f9307-3f72-4f29-930d-96bc4b52d09a","responses":{"200":"5b6aa145-21bc-4369-b173-fe24a89e937d","201":"0d3ad376-c69f-4280-9f00-fe92d4a3ae1c","400":"4d472ef2-eab7-47e5-8b8b-14ad1e86763b","401":"c1edcb22-1414-4d7d-89b9-8a09b9bbe15a","403":"db2e5709-9ebb-479f-aaad-04fd2a4a0518","404":"732f7d76-bd6f-4109-9186-d942cee842ee","409":"eea3b830-0772-488e-9138-353ce8572a59","413":"34d99cf1-ebac-4b9a-915d-35a2b1d0221f","415":"00ff10ea-a670-4d6d-81f9-ba49999242fe","429":"1c96805b-9857-41b4-bdee-e50c1538f899","500":"b45e29d2-a52b-4a60-8546-071beb887171","503":"5cab3b85-b58e-4a0b-8bc9-d069d5efc469"},"method":"post","type":"path","servers":["a6b98c3c-1283-400d-ad4f-17f195c5cbe1"],"security":["2878f9b5-d2e6-4cb9-ba92-fe02c38d64db"],"path":"/uploads","baseUrlOptions":["https://api.zerogen.com/v1"],"title":"Create an upload","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"24a0cc65-07ca-4677-9f20-2ae5258d2d12":{"name":"Idempotency-Key","in":"header","required":false,"description":"Makes retries safe: a retry with the same key and body returns the first response for 24 hours instead of repeating the work. Reusing a key with a different body returns 409.","schema":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[\\x21-\\x7e]+$","isRequired":false,"description":"Makes retries safe: a retry with the same key and body returns the first response for 24 hours instead of repeating the work. Reusing a key with a different body returns 409.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"filename":{"type":"string","maxLength":1024,"minLength":1,"pattern":"^(?:.*[\\\\/])?[^\\\\/]{1,255}$","isRequired":true,"uniqueKey":"filename","typeLabel":"string"},"contentType":{"type":"string","enum":["audio/aac","audio/aiff","audio/flac","audio/mp4","audio/mpeg","audio/ogg","audio/wav","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/tiff","image/webp","video/mp4","video/quicktime","video/webm","video/x-matroska","video/x-msvideo"],"isRequired":true,"uniqueKey":"contentType","typeLabel":"enum\u003cstring>"},"sizeBytes":{"type":"integer","minimum":1,"maximum":5368709120,"isRequired":true,"uniqueKey":"sizeBytes","typeLabel":"integer"},"projectId":{"description":"The project to upload into; omit for the organization's default project.","type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","uniqueKey":"projectId","typeLabel":"string"},"folderId":{"description":"Add the asset to this folder in the project.","type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","uniqueKey":"folderId","typeLabel":"string"},"sha256":{"description":"Lowercase hex SHA-256 of the file, to reuse an identical file in the project.","type":"string","pattern":"^[0-9a-f]{64}$","uniqueKey":"sha256","typeLabel":"string"}},"required":["filename","contentType","sizeBytes"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"filename":"reference.png","contentType":"image/png","sizeBytes":482113},"examples":{"Example":{"title":"Example","value":{"filename":"reference.png","contentType":"image/png","sizeBytes":482113}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"5b6aa145-21bc-4369-b173-fe24a89e937d":{"description":"An identical file is already in the project.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}},"Idempotent-Replayed":{"description":"true when this response replays an earlier request with the same Idempotency-Key.","schema":{"type":"string","enum":["true"]}}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The upload's ID, which completes it","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"projectId":{"type":"string","isRequired":true,"uniqueKey":"projectId","typeLabel":"string"},"status":{"type":"string","enum":["upload_required","ready"],"description":"upload_required: PUT the bytes, then complete; ready: the asset can be used","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"assetId":{"oneOf":[{"description":"Once ready, the Library asset to send as a generation input; an identical file already in the project is reused","type":"string","isRequired":true,"uniqueKey":"assetId.oneOf.0","typeLabel":"string"},{"description":"Once ready, the Library asset to send as a generation input; an identical file already in the project is reused","type":"null","isRequired":true,"uniqueKey":"assetId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"assetId","typeLabel":"string | null"},"upload":{"oneOf":[{"type":"object","description":"Where to PUT the file's exact bytes, with these headers, before expiresAt","required":["method","url","headers","expiresAt"],"properties":{"method":{"type":"string","const":"PUT","isRequired":true,"uniqueKey":"upload.oneOf.0.method","typeLabel":"string"},"url":{"type":"string","isRequired":true,"uniqueKey":"upload.oneOf.0.url","typeLabel":"string"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","uniqueKey":"upload.oneOf.0.headers.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"upload.oneOf.0.headers","typeLabel":"object"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","isRequired":true,"uniqueKey":"upload.oneOf.0.expiresAt","typeLabel":"string\u003cdate-time>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"upload.oneOf.0","typeLabel":"object"},{"type":"null","description":"Where to PUT the file's exact bytes, with these headers, before expiresAt","isRequired":true,"uniqueKey":"upload.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"upload","typeLabel":"object | null"},"folder":{"description":"Whether the asset was added to the folder named at create","type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"folder.id","typeLabel":"string"},"filed":{"type":"boolean","isRequired":true,"uniqueKey":"folder.filed","typeLabel":"boolean"},"error":{"type":"string","uniqueKey":"folder.error","typeLabel":"string"}},"required":["id","filed"],"additionalProperties":false,"uniqueKey":"folder","typeLabel":"object"}},"required":["id","projectId","status","assetId","upload"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","projectId":"\u003cstring>","status":"upload_required","assetId":"\u003cstring>","upload":{"method":"PUT","url":"\u003cstring>","headers":{},"expiresAt":"2023-11-07T05:31:56Z"},"folder":{"id":"\u003cstring>","filed":true,"error":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0d3ad376-c69f-4280-9f00-fe92d4a3ae1c":{"description":"PUT the bytes, then complete.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}},"Idempotent-Replayed":{"description":"true when this response replays an earlier request with the same Idempotency-Key.","schema":{"type":"string","enum":["true"]}},"Location":{"description":"Where to read the created resource.","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The upload's ID, which completes it","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"projectId":{"type":"string","isRequired":true,"uniqueKey":"projectId","typeLabel":"string"},"status":{"type":"string","enum":["upload_required","ready"],"description":"upload_required: PUT the bytes, then complete; ready: the asset can be used","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"assetId":{"oneOf":[{"description":"Once ready, the Library asset to send as a generation input; an identical file already in the project is reused","type":"string","isRequired":true,"uniqueKey":"assetId.oneOf.0","typeLabel":"string"},{"description":"Once ready, the Library asset to send as a generation input; an identical file already in the project is reused","type":"null","isRequired":true,"uniqueKey":"assetId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"assetId","typeLabel":"string | null"},"upload":{"oneOf":[{"type":"object","description":"Where to PUT the file's exact bytes, with these headers, before expiresAt","required":["method","url","headers","expiresAt"],"properties":{"method":{"type":"string","const":"PUT","isRequired":true,"uniqueKey":"upload.oneOf.0.method","typeLabel":"string"},"url":{"type":"string","isRequired":true,"uniqueKey":"upload.oneOf.0.url","typeLabel":"string"},"headers":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string","uniqueKey":"upload.oneOf.0.headers.additionalProperties","typeLabel":"string"},"isRequired":true,"uniqueKey":"upload.oneOf.0.headers","typeLabel":"object"},"expiresAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$","isRequired":true,"uniqueKey":"upload.oneOf.0.expiresAt","typeLabel":"string\u003cdate-time>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"upload.oneOf.0","typeLabel":"object"},{"type":"null","description":"Where to PUT the file's exact bytes, with these headers, before expiresAt","isRequired":true,"uniqueKey":"upload.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"upload","typeLabel":"object | null"},"folder":{"description":"Whether the asset was added to the folder named at create","type":"object","properties":{"id":{"type":"string","isRequired":true,"uniqueKey":"folder.id","typeLabel":"string"},"filed":{"type":"boolean","isRequired":true,"uniqueKey":"folder.filed","typeLabel":"boolean"},"error":{"type":"string","uniqueKey":"folder.error","typeLabel":"string"}},"required":["id","filed"],"additionalProperties":false,"uniqueKey":"folder","typeLabel":"object"}},"required":["id","projectId","status","assetId","upload"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"\u003cstring>","projectId":"\u003cstring>","status":"upload_required","assetId":"\u003cstring>","upload":{"method":"PUT","url":"\u003cstring>","headers":{},"expiresAt":"2023-11-07T05:31:56Z"},"folder":{"id":"\u003cstring>","filed":true,"error":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"4d472ef2-eab7-47e5-8b8b-14ad1e86763b":{"description":"The request is malformed or invalid: invalid_request, validation_failed, model_unavailable or input_import_failed.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"c1edcb22-1414-4d7d-89b9-8a09b9bbe15a":{"description":"invalid_api_key: the key is missing, revoked or expired.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"WWW-Authenticate":{"description":"Bearer realm=\"ZeroGen API\".","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"db2e5709-9ebb-479f-aaad-04fd2a4a0518":{"description":"permission_denied: the key lacks the scope this endpoint needs, the request came from a browser, or the API isn't enabled for the organization.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"732f7d76-bd6f-4109-9186-d942cee842ee":{"description":"not_found: no such resource for this caller, including a projectId the caller can't use.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"eea3b830-0772-488e-9138-353ce8572a59":{"description":"idempotency_conflict: the Idempotency-Key was used for a different request. idempotency_in_progress: the first request with this key hasn't finished. invalid_state: the request can't go ahead as things stand, such as a generation that needs a person's approval in ZeroGen.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"34d99cf1-ebac-4b9a-915d-35a2b1d0221f":{"description":"The request body is larger than 128 KB.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"00ff10ea-a670-4d6d-81f9-ba49999242fe":{"description":"Send the body as application/json.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"1c96805b-9857-41b4-bdee-e50c1538f899":{"description":"rate_limited: the key or its owner is over the rate limit, or the organization is at its running cap. Retry after Retry-After seconds.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"b45e29d2-a52b-4a60-8546-071beb887171":{"description":"internal: something went wrong. Retry.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"5cab3b85-b58e-4a0b-8bc9-d069d5efc469":{"description":"unavailable or pricing_unavailable: API keys, billing or pricing can't be reached right now. Retry.","headers":{"Request-Id":{"description":"Identifies the request; quote it when contacting support.","schema":{"type":"string"}},"RateLimit-Limit":{"description":"Requests the key may make in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","pattern":"^[a-z][a-z0-9_]{0,79}$","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","isRequired":true,"uniqueKey":"error.retryable","typeLabel":"boolean"},"param":{"type":"string","uniqueKey":"error.param","typeLabel":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message","retryable"],"additionalProperties":false,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","retryable":true,"param":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"2878f9b5-d2e6-4cb9-ba92-fe02c38d64db":{"bearerAuth":{"type":"http","scheme":"bearer","description":"A ZeroGen API key: zg_ for a live key, zg_test_ for a test key.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"a6b98c3c-1283-400d-ad4f-17f195c5cbe1":{"url":"https://api.zerogen.com/v1"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A ZeroGen API key: zg_ for a live key, zg_test_ for a test key.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A ZeroGen API key: zg_ for a live key, zg_test_ for a test key.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"zero-gen","siteName":"ZeroGen API","title":"Create an upload - ZeroGen API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-24T20:07:49.931Z","originalFileLocation":"api-reference/uploads/create-an-upload.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;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=\"system\"}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=\"Starts an upload into the Library. PUT the file\u0026#x27;s exact bytes to the returned target, then complete the upload. With sha256, an identical file already in the project comes back ready, with nothing to send. Needs the uploads:create scope.\">\u003cmeta data-mint-head name=\"application-name\" content=\"ZeroGen API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_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/zero-gen/ben01azdM0Av99iT/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an upload - ZeroGen API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Starts an upload into the Library. PUT the file\u0026#x27;s exact bytes to the returned target, then complete the upload. With sha256, an identical file already in the project comes back ready, with nothing to send. Needs the uploads:create scope.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ZeroGen API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.zerogen.com/api-reference/uploads/create-an-upload\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://zero-gen.mintlify.app/_mintlify/api/og/v2?division=Uploads\u0026amp;title=Create+an+upload\u0026amp;description=Starts+an+upload+into+the+Library.+PUT+the+file%27s+exact+bytes+to+the+returned+target%2C+then+complete+the+upload.+With+%60sha256%60%2C+an+identical+file+already+in+the+\u0026amp;theme=faa3a38b66501c3fd9e9fb87\u0026amp;signature=31855bd215c257ed36d28a117a64605a1de7a8fd5c01b7980a3b883863de888f\">\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=\"Create an upload - ZeroGen API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Starts an upload into the Library. PUT the file\u0026#x27;s exact bytes to the returned target, then complete the upload. With sha256, an identical file already in the project comes back ready, with nothing to send. Needs the uploads:create scope.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://zero-gen.mintlify.app/_mintlify/api/og/v2?division=Uploads\u0026amp;title=Create+an+upload\u0026amp;description=Starts+an+upload+into+the+Library.+PUT+the+file%27s+exact+bytes+to+the+returned+target%2C+then+complete+the+upload.+With+%60sha256%60%2C+an+identical+file+already+in+the+\u0026amp;theme=faa3a38b66501c3fd9e9fb87\u0026amp;signature=31855bd215c257ed36d28a117a64605a1de7a8fd5c01b7980a3b883863de888f\">\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/zero-gen/ben01azdM0Av99iT/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ZeroGen API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#18181B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.zerogen.com/api-reference/uploads/create-an-upload\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/uploads/create-an-upload.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.zerogen.com/#organization\",\"name\":\"ZeroGen API\",\"url\":\"https://docs.zerogen.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/zero-gen/W2GmhRNTfZqjZw9S/logo/light.svg?fit=max\u0026auto=format\u0026n=W2GmhRNTfZqjZw9S\u0026q=85\u0026s=35d09db4e90566e79f5af1c3d8ffb4be\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.zerogen.com#website\",\"name\":\"ZeroGen API\",\"url\":\"https://docs.zerogen.com\",\"publisher\":{\"@id\":\"https://docs.zerogen.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload#webpage\",\"url\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload\",\"name\":\"Create an upload\",\"description\":\"Starts an upload into the Library. PUT the file's exact bytes to the returned target, then complete the upload. With sha256, an identical file already in the project comes back ready, with nothing to send. Needs the uploads:create scope.\",\"dateModified\":\"2026-10-24T20:07:49.931Z\",\"isPartOf\":{\"@id\":\"https://docs.zerogen.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.zerogen.com/api-reference/account/read-the-calling-key\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an upload\",\"item\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload#apireference\",\"headline\":\"Create an upload\",\"name\":\"Create an upload\",\"description\":\"Starts an upload into the Library. PUT the file's exact bytes to the returned target, then complete the upload. With sha256, an identical file already in the project comes back ready, with nothing to send. Needs the uploads:create scope.\",\"url\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload\",\"mainEntityOfPage\":{\"@id\":\"https://docs.zerogen.com/api-reference/uploads/create-an-upload#webpage\"},\"dateModified\":\"2026-10-24T20:07:49.931Z\",\"publisher\":{\"@id\":\"https://docs.zerogen.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.zerogen.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ZeroGen API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"ZeroGen API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"Overview","href":"/api-reference/overview"}]},{"group":"Endpoints","pages":[{"group":"Account","pages":[{"title":"Read the calling key","deprecated":null,"version":null,"openapi":"/openapi.json get /me","href":"/api-reference/account/read-the-calling-key"},{"title":"Read the organization's balance","deprecated":null,"version":null,"openapi":"/openapi.json get /balance","href":"/api-reference/account/read-the-organizations-balance"}]},{"group":"Models","pages":[{"title":"List models","deprecated":null,"version":null,"openapi":"/openapi.json get /models","href":"/api-reference/models/list-models"},{"title":"Read a model","deprecated":null,"version":null,"openapi":"/openapi.json get /models/{vendor}/{model}/{operation}","href":"/api-reference/models/read-a-model"}]},{"group":"Generations","pages":[{"title":"Quote a generation","deprecated":null,"version":null,"openapi":"/openapi.json post /generations/quote","href":"/api-reference/generations/quote-a-generation"},{"title":"List generations","deprecated":null,"version":null,"openapi":"/openapi.json get /generations","href":"/api-reference/generations/list-generations"},{"title":"Create a generation","deprecated":null,"version":null,"openapi":"/openapi.json post /generations","href":"/api-reference/generations/create-a-generation"},{"title":"Read a generation","deprecated":null,"version":null,"openapi":"/openapi.json get /generations/{id}","href":"/api-reference/generations/read-a-generation"},{"title":"Cancel a generation","description":"Stops the generation's unfinished outputs. Outputs a vendor already finished are kept and charged; cancelling a finished generation returns it unchanged. Takes no body.\n\nNeeds the `generations:cancel` scope.","deprecated":null,"version":null,"openapi":"/openapi.json post /generations/{id}/cancel","href":"/api-reference/generations/cancel-a-generation"}]},{"group":"Uploads","pages":[{"title":"Create an upload","deprecated":null,"version":null,"openapi":"/openapi.json post /uploads","href":"/api-reference/uploads/create-an-upload"},{"title":"Read an upload","description":"One of the caller's uploads and, once ready, its Library asset.\n\nNeeds the `uploads:create` scope.","deprecated":null,"version":null,"openapi":"/openapi.json get /uploads/{id}","href":"/api-reference/uploads/read-an-upload"},{"title":"Complete an upload","deprecated":null,"version":null,"openapi":"/openapi.json post /uploads/{id}/complete","href":"/api-reference/uploads/complete-an-upload"}]}]}]}]},"title":"Create an upload - ZeroGen API","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}