This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner.
Calling this creates an upload session and returns presigned URLs for uploading the file in parts.
Upload the file in partCount parts, using the matching
parts[n].uploadUrl for each part number.
Every part except the last must be exactly partSizeInBytes bytes. The
last part may be smaller. After all parts have been uploaded, call
/media/upload-sessions/{uploadSessionId}/complete to finalize the upload
and create the media item.
Maximum chunk size to use when slicing the file into parts.
For uploads with more than one part, every part except the last must
be exactly this size. The last part may be smaller. For a single-part
upload, the only part may be smaller than this size.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"WoopSocial API Documentation","description":"WoopSocial social media API documentation","colors":{"primary":"#F18B20","light":"#F9B96A","dark":"#DD6D04"},"logo":{"light":"https://mintcdn.com/woopsocial/f0RZnKsGT_h8VrCw/logo/light.svg?fit=max\u0026auto=format\u0026n=f0RZnKsGT_h8VrCw\u0026q=85\u0026s=95b7fdf5ce2971fd90c68e25cb7d9976","dark":"https://mintcdn.com/woopsocial/f0RZnKsGT_h8VrCw/logo/dark.svg?fit=max\u0026auto=format\u0026n=f0RZnKsGT_h8VrCw\u0026q=85\u0026s=66e91e401ecf66a63beb46ac9f271cb5"},"favicon":"https://mintcdn.com/woopsocial/gC87Hq46c0_sTgzr/favicon.svg?fit=max\u0026auto=format\u0026n=gC87Hq46c0_sTgzr\u0026q=85\u0026s=735aa4e4f017fff11f6948a7411ffb48","api":{"playground":{"proxy":false},"examples":{"prefill":true}},"navbar":{"links":[{"href":"mailto:contact@woopsocial.com","label":"Contact"},{"href":"https://api.woopsocial.com/v1/openapi.yaml","label":"OpenAPI Spec"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.woopsocial.com"}},"seo":{"metatags":{"canonical":"https://docs.woopsocial.com"}},"integrations":{"gtm":{"tagId":"GTM-5MR826CW"}},"contextual":{"options":["copy","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"woopsocial","hasAudioNarration":false,"actualSubdomain":"woopsocial","customDomains":["docs.woopsocial.com"],"gitSource":{"type":"github","owner":"woopsocial","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad89deb538186b3cb6378ff","collectionId":"98ab3aa1-800a-4cab-ae4f-4aedee85b405","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad89deb538186b3cb6378ff"},"feedback":{"edits":true,"issues":true,"thumbs":true},"entitlements":{},"buildId":"6ad89deb538186b3cb6378ff","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"Overview","count":6},{"language":"default","tag":"Media","count":6},{"language":"default","tag":"Posts","count":6},{"language":"default","tag":"Social Accounts","count":4},{"language":"default","tag":"MCP Reference","count":3},{"language":"default","tag":"Projects","count":3},{"language":"default","tag":"Webhooks","count":3},{"language":"default","tag":"Getting started","count":1},{"language":"default","tag":"Health","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"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/media/start-media-upload-session","slug":"/api-reference/media/start-media-upload-session","pageMetadata":{"title":"Start media upload session","description":"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner.\nCalling this creates an upload session and returns presigned URLs for uploading the file in parts.\n\nUpload the file in `partCount` parts, using the matching\n`parts[n].uploadUrl` for each part number.\n\nEvery part except the last must be exactly `partSizeInBytes` bytes. The\nlast part may be smaller. After all parts have been uploaded, call\n`/media/upload-sessions/{uploadSessionId}/complete` to finalize the upload\nand create the media item.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /media/upload-sessions","href":"/api-reference/media/start-media-upload-session","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: [_jsx(_components.p, {\n children: \"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner.\\nCalling this creates an upload session and returns presigned URLs for uploading the file in parts.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Upload the file in \", _jsx(_components.code, {\n children: \"partCount\"\n }), \" parts, using the matching\\n\", _jsx(_components.code, {\n children: \"parts[n].uploadUrl\"\n }), \" for each part number.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Every part except the last must be exactly \", _jsx(_components.code, {\n children: \"partSizeInBytes\"\n }), \" bytes. The\\nlast part may be smaller. After all parts have been uploaded, call\\n\", _jsx(_components.code, {\n children: \"/media/upload-sessions/{uploadSessionId}/complete\"\n }), \" to finalize the upload\\nand create the media item.\"]\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":"Start media upload session","description":"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner.\nCalling this creates an upload session and returns presigned URLs for uploading the file in parts.\n\nUpload the file in `partCount` parts, using the matching\n`parts[n].uploadUrl` for each part number.\n\nEvery part except the last must be exactly `partSizeInBytes` bytes. The\nlast part may be smaller. After all parts have been uploaded, call\n`/media/upload-sessions/{uploadSessionId}/complete` to finalize the upload\nand create the media item.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml post /media/upload-sessions","href":"/api-reference/media/start-media-upload-session","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/woopsocial/28cb3bbe228b10a4/crisp.js"],"openApiReferenceData":{"operation":{"operationId":"createUploadSession","x-woopsocial-mcp-tool-name":"media_uploads_create_session","x-woopsocial-mcp-description":"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner.\nCalling this creates an upload session and returns presigned URLs for uploading the file in parts.\n\nUpload the file in `partCount` parts by sending an HTTP PUT with the raw bytes of each part to the matching\n`parts[n].uploadUrl`. Every part except the last must be exactly `partSizeInBytes` bytes. The last part may be smaller.\nAfter all parts have been uploaded, call `media_uploads_complete_session` to finalize the upload and create the media item.\nThe presigned URLs expire at `expiresAt`.\n\nUploading the parts requires making HTTP requests yourself (for example with curl in a shell or code execution tool).\nIf you cannot make HTTP requests, tell the user the upload is not possible from this client.\n\nThe presigned URLs are hosted on Cloudflare R2 (`\u003caccount-id>.r2.cloudflarestorage.com`).\nIf a network allowlist blocks the PUT, ask the user to allow `*.r2.cloudflarestorage.com`:\n- claude.ai / Claude Desktop chat: Settings > Capabilities, in the code execution network settings.\n- Claude Code: the sandbox's allowed network domains in settings.json.\n","tags":["Media"],"security":["6018629c-9b11-4ff9-90ac-fd622da161af"],"summary":"Start media upload session","description":"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner.\nCalling this creates an upload session and returns presigned URLs for uploading the file in parts.\n\nUpload the file in `partCount` parts, using the matching\n`parts[n].uploadUrl` for each part number.\n\nEvery part except the last must be exactly `partSizeInBytes` bytes. The\nlast part may be smaller. After all parts have been uploaded, call\n`/media/upload-sessions/{uploadSessionId}/complete` to finalize the upload\nand create the media item.\n","requestBody":"109b75f3-6065-4532-82e9-bc3fc48ad674","responses":{"200":"19c064b7-5673-4912-a62c-bc0af1c0e9cf","429":"4c27220f-f9ec-48e8-80c7-7ca23ade1488"},"method":"post","type":"path","servers":["22fa11c6-105f-4986-88f3-6e1b1a595f16","bfce7d0c-5988-4a28-bf53-dad2661dcbb1"],"path":"/media/upload-sessions","baseUrlOptions":["https://api.woopsocial.com/v1","http://localhost:9123/api/external/v1"],"title":"Start media upload session","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.projectId":"\u003cstring>","body.fileSizeInBytes":2684354560}],"disableProxy":true},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["projectId","fileSizeInBytes"],"properties":{"projectId":{"type":"string","description":"Project that will own the uploaded media.","isRequired":true,"uniqueKey":"projectId","typeLabel":"string"},"fileSizeInBytes":{"type":"integer","format":"int64","minimum":1,"maximum":5368709120,"description":"Total size of the file that will be uploaded.","isRequired":true,"uniqueKey":"fileSizeInBytes","typeLabel":"integer\u003cint64>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"projectId":"\u003cstring>","fileSizeInBytes":2684354560}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"19c064b7-5673-4912-a62c-bc0af1c0e9cf":{"description":"Upload session created.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["uploadSessionId","partSizeInBytes","partCount","expiresAt","parts"],"properties":{"uploadSessionId":{"type":"string","description":"Media upload session identifier.","isRequired":true,"uniqueKey":"uploadSessionId","typeLabel":"string"},"partSizeInBytes":{"type":"integer","format":"int64","description":"Maximum chunk size to use when slicing the file into parts.\n\nFor uploads with more than one part, every part except the last must\nbe exactly this size. The last part may be smaller. For a single-part\nupload, the only part may be smaller than this size.\n","isRequired":true,"uniqueKey":"partSizeInBytes","typeLabel":"integer\u003cint64>"},"partCount":{"type":"integer","format":"int32","description":"Number of parts that must be uploaded before completion.","isRequired":true,"uniqueKey":"partCount","typeLabel":"integer\u003cint32>"},"expiresAt":{"type":"string","format":"date-time","description":"Time when the presigned part upload URLs expire.","isRequired":true,"uniqueKey":"expiresAt","typeLabel":"string\u003cdate-time>"},"parts":{"type":"array","description":"Presigned upload targets, in part-number order.","items":{"type":"object","additionalProperties":false,"required":["partNumber","uploadUrl"],"properties":{"partNumber":{"type":"integer","format":"int32","minimum":1,"description":"1-based part number to upload to this URL.","isRequired":true,"uniqueKey":"parts.items.[INDEX].partNumber","typeLabel":"integer\u003cint32>"},"uploadUrl":{"type":"string","format":"uri","description":"Presigned URL that accepts the bytes for `partNumber`.","isRequired":true,"uniqueKey":"parts.items.[INDEX].uploadUrl","typeLabel":"string\u003curi>"}},"description":"Presigned URL and part number for uploading one chunk of the file.","uniqueKey":"parts.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"parts","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"uploadSessionId":"\u003cstring>","partSizeInBytes":123,"partCount":123,"expiresAt":"2023-11-07T05:31:56Z","parts":[{"partNumber":2,"uploadUrl":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"4c27220f-f9ec-48e8-80c7-7ca23ade1488":{"description":"Too many requests are already in progress for this API key.","headers":{"Retry-After":{"description":"Number of seconds to wait before retrying.","required":true,"schema":{"type":"integer","format":"int32","minimum":1,"example":1}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","enum":["TOO_MANY_CONCURRENT_REQUESTS"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":"TOO_MANY_CONCURRENT_REQUESTS","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"6018629c-9b11-4ff9-90ac-fd622da161af":{"ApiKey":{"type":"http","scheme":"bearer","bearerFormat":"API key","scopes":[],"schemeName":"ApiKey"}}},"servers":{"22fa11c6-105f-4986-88f3-6e1b1a595f16":{"url":"https://api.woopsocial.com/v1","description":"WoopSocial API URL."},"bfce7d0c-5988-4a28-bf53-dad2661dcbb1":{"url":"http://localhost:9123/api/external/v1","description":"Local WoopSocial API URL."}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API key","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"woopsocial","siteName":"WoopSocial API Documentation","title":"Start media upload session - WoopSocial API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T11:11:44.181Z","originalFileLocation":"api-reference/media/start-media-upload-session.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=\"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner. Calling this creates an upload session and returns presigned URLs for uploading the file in parts. Upload the file in partCount parts, using the matching parts[n].uploadUrl for each part number. Every part except the last must be exactly partSizeInBytes bytes. The last part may be smaller. After all parts have been uploaded, call /media/upload-sessions/{uploadSessionId}/complete to finalize the upload and create the media item.\">\u003cmeta data-mint-head name=\"application-name\" content=\"WoopSocial API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_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/woopsocial/NhWCN0CH5RmC5cLF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Start media upload session - WoopSocial API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner. Calling this creates an upload session and returns presigned URLs for uploading the file in parts. Upload the file in partCount parts, using the matching parts[n].uploadUrl for each part number. Every part except the last must be exactly partSizeInBytes bytes. The last part may be smaller. After all parts have been uploaded, call /media/upload-sessions/{uploadSessionId}/complete to finalize the upload and create the media item.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"WoopSocial API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://woopsocial.mintlify.app/_mintlify/api/og/v2?division=Media\u0026amp;title=Start+media+upload+session\u0026amp;description=This+endpoint+can+be+used+to+upload+both+smaller+and+larger+files+%28up+to+5GB%29+in+a+chunked+manner.%0ACalling+this+creates+an+upload+session+and+returns+presigned+\u0026amp;theme=dee9143e1d0bce876141d48e\u0026amp;signature=df57c03ef3246828e99ca0608ece698a8cbc4465cda2e0c1fcf449272c940a8c\">\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=\"Start media upload session - WoopSocial API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner. Calling this creates an upload session and returns presigned URLs for uploading the file in parts. Upload the file in partCount parts, using the matching parts[n].uploadUrl for each part number. Every part except the last must be exactly partSizeInBytes bytes. The last part may be smaller. After all parts have been uploaded, call /media/upload-sessions/{uploadSessionId}/complete to finalize the upload and create the media item.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://woopsocial.mintlify.app/_mintlify/api/og/v2?division=Media\u0026amp;title=Start+media+upload+session\u0026amp;description=This+endpoint+can+be+used+to+upload+both+smaller+and+larger+files+%28up+to+5GB%29+in+a+chunked+manner.%0ACalling+this+creates+an+upload+session+and+returns+presigned+\u0026amp;theme=dee9143e1d0bce876141d48e\u0026amp;signature=df57c03ef3246828e99ca0608ece698a8cbc4465cda2e0c1fcf449272c940a8c\">\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/woopsocial/NhWCN0CH5RmC5cLF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"WoopSocial API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F18B20\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/media/start-media-upload-session.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.woopsocial.com/#organization\",\"name\":\"WoopSocial API Documentation\",\"url\":\"https://docs.woopsocial.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/woopsocial/f0RZnKsGT_h8VrCw/logo/light.svg?fit=max\u0026auto=format\u0026n=f0RZnKsGT_h8VrCw\u0026q=85\u0026s=95b7fdf5ce2971fd90c68e25cb7d9976\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.woopsocial.com#website\",\"name\":\"WoopSocial API Documentation\",\"url\":\"https://docs.woopsocial.com\",\"publisher\":{\"@id\":\"https://docs.woopsocial.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session#webpage\",\"url\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session\",\"name\":\"Start media upload session\",\"description\":\"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner. Calling this creates an upload session and returns presigned URLs for uploading the file in parts. Upload the file in partCount parts, using the matching parts[n].uploadUrl for each part number. Every part except the last must be exactly partSizeInBytes bytes. The last part may be smaller. After all parts have been uploaded, call /media/upload-sessions/{uploadSessionId}/complete to finalize the upload and create the media item.\",\"dateModified\":\"2026-10-21T11:11:44.181Z\",\"isPartOf\":{\"@id\":\"https://docs.woopsocial.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Media\",\"item\":\"https://docs.woopsocial.com/api-reference/media/list-media\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Start media upload session\",\"item\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session#apireference\",\"headline\":\"Start media upload session\",\"name\":\"Start media upload session\",\"description\":\"This endpoint can be used to upload both smaller and larger files (up to 5GB) in a chunked manner. Calling this creates an upload session and returns presigned URLs for uploading the file in parts. Upload the file in partCount parts, using the matching parts[n].uploadUrl for each part number. Every part except the last must be exactly partSizeInBytes bytes. The last part may be smaller. After all parts have been uploaded, call /media/upload-sessions/{uploadSessionId}/complete to finalize the upload and create the media item.\",\"url\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.woopsocial.com/api-reference/media/start-media-upload-session#webpage\"},\"dateModified\":\"2026-10-21T11:11:44.181Z\",\"publisher\":{\"@id\":\"https://docs.woopsocial.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.woopsocial.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"WoopSocial API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"WoopSocial API Documentation","nav":{"global":null,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API Overview","href":"/api-reference/overview"},{"title":"API Onboarding","sidebarTitle":"API Onboarding","href":"/api-reference/api-onboarding"}]},{"group":"Posts","pages":[{"title":"Create post","deprecated":null,"version":null,"openapi":"/openapi.yaml post /posts","href":"/api-reference/posts/create-post"},{"title":"Validate post","deprecated":null,"version":null,"openapi":"/openapi.yaml post /posts/validate","href":"/api-reference/posts/validate-post"},{"title":"Get post","deprecated":null,"version":null,"openapi":"/openapi.yaml get /posts/{postId}","href":"/api-reference/posts/get-post"},{"title":"Delete post","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /posts/{postId}","href":"/api-reference/posts/delete-post"},{"title":"List social account posts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /social-account-posts","href":"/api-reference/posts/list-social-account-posts"},{"title":"Delete social account post","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /social-account-posts/{socialAccountPostId}","href":"/api-reference/posts/delete-social-account-post"}]},{"group":"Projects","pages":[{"title":"List projects","deprecated":null,"version":null,"openapi":"/openapi.yaml get /projects","href":"/api-reference/projects/list-projects"},{"title":"Create project","deprecated":null,"version":null,"openapi":"/openapi.yaml post /projects","href":"/api-reference/projects/create-project"},{"title":"Delete project","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /projects/{projectId}","href":"/api-reference/projects/delete-project"}]},{"group":"Social Accounts","pages":[{"title":"Generate OAuth URL","deprecated":null,"version":null,"openapi":"/openapi.yaml post /social-accounts/authorization-url","href":"/api-reference/social-accounts/generate-oauth-url"},{"title":"List social accounts","deprecated":null,"version":null,"openapi":"/openapi.yaml get /social-accounts","href":"/api-reference/social-accounts/list-social-accounts"},{"title":"Delete social account","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /social-accounts/{socialAccountId}","href":"/api-reference/social-accounts/delete-social-account"},{"title":"Get platform-specific input options","deprecated":null,"version":null,"openapi":"/openapi.yaml get /social-accounts/{socialAccountId}/platform-inputs","href":"/api-reference/social-accounts/get-platform-specific-input-options"}]},{"group":"Media","pages":[{"title":"List media","deprecated":null,"version":null,"openapi":"/openapi.yaml get /media","href":"/api-reference/media/list-media"},{"title":"Upload media","deprecated":null,"version":null,"openapi":"/openapi.yaml post /media","href":"/api-reference/media/upload-media"},{"title":"Delete media","description":"Deletes one media item by ID.\n","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /media/{mediaId}","href":"/api-reference/media/delete-media"},{"title":"Start media upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /media/upload-sessions","href":"/api-reference/media/start-media-upload-session"},{"title":"Get media upload session status","description":null,"deprecated":null,"version":null,"openapi":"/openapi.yaml get /media/upload-sessions/{uploadSessionId}","href":"/api-reference/media/get-media-upload-session-status"},{"title":"Complete media upload session","deprecated":null,"version":null,"openapi":"/openapi.yaml post /media/upload-sessions/{uploadSessionId}/complete","href":"/api-reference/media/complete-media-upload-session"}]},{"group":"Webhooks","pages":[{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/openapi.yaml get /webhooks","href":"/api-reference/webhooks/list-webhook-endpoints"},{"title":"Register webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.yaml post /webhooks","href":"/api-reference/webhooks/register-webhook-endpoint"},{"title":"Delete webhook endpoint","deprecated":null,"version":null,"openapi":"/openapi.yaml delete /webhooks/{webhookId}","href":"/api-reference/webhooks/delete-webhook-endpoint"}]},{"group":"Health","pages":[{"title":"Health check","deprecated":null,"version":null,"openapi":"/openapi.yaml get /health","href":"/api-reference/health/health-check"}]}]},{"tab":"MCP Reference","pages":[{"title":"MCP Reference","href":"/mcp/overview"}]}]},"title":"Start media upload session - WoopSocial API Documentation","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"]}