{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Plaud Dev API","colors":{"primary":"#23a1ba","light":"#23a1ba","dark":"#23a1ba"},"logo":{"light":"https://mintcdn.com/plaud/NcIGXAbuUj5XMDGP/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=NcIGXAbuUj5XMDGP\u0026q=85\u0026s=a5604c3522966e950c83b135b5447fd2","dark":"https://mintcdn.com/plaud/NcIGXAbuUj5XMDGP/assets/logo/dark.svg?fit=max\u0026auto=format\u0026n=NcIGXAbuUj5XMDGP\u0026q=85\u0026s=e201b4f55334c7fe676da8bff7f8efe8"},"favicon":"https://mintcdn.com/plaud/YxiKJ7IMBL1gGn13/assets/favicon/light.svg?fit=max\u0026auto=format\u0026n=YxiKJ7IMBL1gGn13\u0026q=85\u0026s=24c68e9f1e431eac31fbad0c996d1ca8","api":{"examples":{"defaults":"all","languages":["curl","python"]}},"navbar":{"links":[{"icon":"discord","href":"https://discord.gg/9FKhEBk5wa","label":"Community"},{"icon":"phone","href":"https://dev.plaud.ai/contact","label":"Contact Sales"}],"primary":{"type":"button","label":"Become a Partner","href":"https://dev.plaud.ai/contact"}},"footer":{"socials":{"website":"https://plaud.ai","github":"https://github.com/plaud-ai"}},"seo":{"metatags":{"google-site-verification":"RgykNSELwR2FfPjJ67wnEJvRZnLbvvWj1Jq-OC1mDts"}},"styling":{"codeblocks":"system","latex":false},"integrations":{"gtm":{"tagId":"GTM-KSGBLZTN"}},"navigation":{"languages":[{"language":"en","default":true,"href":"overview"},{"language":"es","href":"overview"},{"language":"fr","href":"overview"},{"language":"de","href":"overview"},{"language":"pt","href":"overview"},{"language":"it","href":"overview"},{"language":"zh-Hant","href":"overview"},{"language":"nl","href":"overview"},{"language":"jp","href":"overview"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"plaud","hasAudioNarration":false,"actualSubdomain":"plaud","customDomains":["docs.plaud.ai"],"gitSource":{"type":"github","owner":"plaud-ai","repo":"plaud-dev-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad7fcd950a0ac3d389e4a19","collectionId":"1c67a25a-bfbb-424d-93d6-9d76ab10abee","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad7fcd950a0ac3d389e4a19"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad7fcd950a0ac3d389e4a19","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"en","tag":"Plaud Embedded","count":29},{"language":"en","tag":"API Reference","count":15},{"language":"en","tag":"Starter Apps \u0026 Guides","count":6},{"language":"de","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"es","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"fr","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"it","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"jp","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"nl","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"en","tag":"Embedded SDK Reference","count":4},{"language":"en","tag":"Authentication API","count":4},{"language":"en","tag":"Device Binding API","count":4},{"language":"en","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"pt","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"zh-Hant","tag":"Plaud MCP \u0026 CLI","count":4},{"language":"default","tag":"Plaud Embedded","count":3},{"language":"default","tag":"Overview","count":3},{"language":"en","tag":"Resources","count":3},{"language":"en","tag":"File Upload API","count":3},{"language":"en","tag":"Transcription API","count":3},{"language":"default","tag":"Developer Platform","count":1},{"language":"default","tag":"Platform","count":1}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"type":"link","email":"jack.mu@plaud.ai","url":"https://dev.plaud.ai/support/"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".nav-logo{width:102px;height:63px}.nav-tabs{width:100%!important}"}],"page":{"pagePath":"api-reference/file-upload-api/complete-multipart-upload","slug":"/api-reference/file-upload-api/complete-multipart-upload","pageMetadata":{"title":"Complete Multipart Upload","description":"Merge the uploaded parts into a single file.\n\nSubmit the `file_id` and `upload_id` from generate-presigned-urls along with the `ETag` collected from each part's `PUT` response.\u003cNote>The returned `DownloadUrl` is valid for **24 hours**.\u003c/Note>","deprecated":null,"version":null,"openapi":"/openapi/file.json post /open/partner/files/upload/complete-upload","href":"/api-reference/file-upload-api/complete-multipart-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 strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n }, {Note} = _components;\n if (!Note) _missingMdxReference(\"Note\", true);\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Merge the uploaded parts into a single file.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Submit the \", _jsx(_components.code, {\n children: \"file_id\"\n }), \" and \", _jsx(_components.code, {\n children: \"upload_id\"\n }), \" from generate-presigned-urls along with the \", _jsx(_components.code, {\n children: \"ETag\"\n }), \" collected from each part’s \", _jsx(_components.code, {\n children: \"PUT\"\n }), \" response.\", _jsxs(Note, {\n children: [\"The returned \", _jsx(_components.code, {\n children: \"DownloadUrl\"\n }), \" is valid for \", _jsx(_components.strong, {\n children: \"24 hours\"\n }), \".\"]\n })]\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};\nfunction _missingMdxReference(id, component) {\n throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Complete Multipart Upload","description":"Merge the uploaded parts into a single file.\n\nSubmit the `file_id` and `upload_id` from generate-presigned-urls along with the `ETag` collected from each part's `PUT` response.\u003cNote>The returned `DownloadUrl` is valid for **24 hours**.\u003c/Note>","deprecated":null,"version":null,"openapi":"/openapi/file.json post /open/partner/files/upload/complete-upload","href":"/api-reference/file-upload-api/complete-multipart-upload","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/plaud/295957221f91259e/tab-nav.js"],"openApiReferenceData":{"operation":{"operationId":"completeUpload","summary":"Complete Multipart Upload","description":"Merge the uploaded parts into a single file.\n\nSubmit the `file_id` and `upload_id` from generate-presigned-urls along with the `ETag` collected from each part's `PUT` response.\u003cNote>The returned `DownloadUrl` is valid for **24 hours**.\u003c/Note>","tags":["File Upload API"],"security":["fe879d5b-dce0-4499-ae64-7eeb5995d1fa"],"parameters":["1fe43eb5-03c5-41b2-b3d6-05cf4abf23c5"],"requestBody":"21e91081-c98d-44c1-957f-7f12661174cb","responses":{"200":"32ee3214-a72e-4784-8f0d-d9e99be8dced"},"method":"post","type":"path","servers":["6a72cef0-5c97-45f8-b768-bc09c1802701","0c71e50e-14c2-4e0c-96ce-f864b35dd220"],"path":"/open/partner/files/upload/complete-upload","baseUrlOptions":["https://platform-us.plaud.ai/developer/api","https://platform-jp.plaud.ai/developer/api"],"title":"Complete Multipart Upload","codeSamples":[],"requestExampleLanguages":["bash","python"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1fe43eb5-03c5-41b2-b3d6-05cf4abf23c5":{"in":"header","name":"Content-Type","schema":{"type":"string","default":"application/json","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["file_id","upload_id","part_list","filetype"],"properties":{"file_id":{"type":"string","description":"The `FileId` returned by generate-presigned-urls.","example":"file_xxx","isRequired":true,"uniqueKey":"file_id","typeLabel":"string"},"upload_id":{"type":"string","description":"The `UploadId` returned by generate-presigned-urls.","example":"upload_xxx","isRequired":true,"uniqueKey":"upload_id","typeLabel":"string"},"part_list":{"type":"array","description":"The part number and `ETag` collected from each chunk's PUT response.","items":{"type":"object","required":["PartNumber","ETag"],"properties":{"PartNumber":{"type":"integer","description":"1-based index of the chunk.","example":1,"isRequired":true,"uniqueKey":"part_list.items.[INDEX].PartNumber","typeLabel":"integer"},"ETag":{"type":"string","description":"The `ETag` returned in the response header of the chunk's PUT to S3.","example":"\"abc123...\"","isRequired":true,"uniqueKey":"part_list.items.[INDEX].ETag","typeLabel":"string"}},"uniqueKey":"part_list.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"part_list","typeLabel":"object[]"},"filetype":{"type":"string","description":"File extension of the audio file.","example":"mp3","isRequired":true,"uniqueKey":"filetype","typeLabel":"string"},"file_md5":{"type":"string","description":"Hex-encoded MD5 of the full file, used to verify integrity. Optional.","example":"9e107d9d372bb6826bd81d3542a419d6","uniqueKey":"file_md5","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"file_id":"file_xxx","upload_id":"upload_xxx","part_list":[{"PartNumber":1,"ETag":"\"abc123...\""},{"PartNumber":2,"ETag":"\"def456...\""}],"filetype":"mp3","file_md5":"9e107d9d372bb6826bd81d3542a419d6"},"examples":{"Example":{"title":"Example","value":{"file_id":"file_xxx","upload_id":"upload_xxx","part_list":[{"PartNumber":1,"ETag":"\"abc123...\""},{"PartNumber":2,"ETag":"\"def456...\""}],"filetype":"mp3","file_md5":"9e107d9d372bb6826bd81d3542a419d6"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"32ee3214-a72e-4784-8f0d-d9e99be8dced":{"description":"Upload completed and parts merged","content":{"application/json":{"schema":{"type":"object","properties":{"FileId":{"type":"string","description":"Identifier for the uploaded file.","example":"file_xxx","uniqueKey":"FileId","typeLabel":"string"},"FileType":{"type":"string","description":"File extension of the audio file.","example":"mp3","uniqueKey":"FileType","typeLabel":"string"},"DownloadUrl":{"type":"string","description":"Pre-signed download URL for the merged file, valid ~24h. Pass as `file_url` to the Transcription API.","example":"https://plaud-bucket.s3.amazonaws.com/...","uniqueKey":"DownloadUrl","typeLabel":"string"},"FileMd5":{"type":"string","description":"Hex-encoded MD5 of the merged file.","example":"9e107d9d372bb6826bd81d3542a419d6","uniqueKey":"FileMd5","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"FileId":"file_xxx","FileType":"mp3","DownloadUrl":"https://plaud-bucket.s3.amazonaws.com/...","FileMd5":"9e107d9d372bb6826bd81d3542a419d6"},"examples":{"Example":{"title":"Example","value":{"FileId":"file_xxx","FileType":"mp3","DownloadUrl":"https://plaud-bucket.s3.amazonaws.com/...","FileMd5":"9e107d9d372bb6826bd81d3542a419d6"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"fe879d5b-dce0-4499-ae64-7eeb5995d1fa":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer authentication using a `user_access_token` (see the Authentication API).","scopes":[]}}},"servers":{"6a72cef0-5c97-45f8-b768-bc09c1802701":{"url":"https://platform-us.plaud.ai/developer/api","description":"US partner endpoint"},"0c71e50e-14c2-4e0c-96ce-f864b35dd220":{"url":"https://platform-jp.plaud.ai/developer/api","description":"Japan partner endpoint"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer authentication using a `user_access_token` (see the Authentication API).","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication using a `user_access_token` (see the Authentication API).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/file.json"},"subdomain":"plaud","siteName":"Plaud Dev API","title":"Complete Multipart Upload - Plaud Dev API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/file-upload-api/complete-multipart-upload","matchLevel":0},"es":{"href":"/overview","matchLevel":4},"fr":{"href":"/overview","matchLevel":4},"de":{"href":"/overview","matchLevel":4},"pt":{"href":"/overview","matchLevel":4},"it":{"href":"/overview","matchLevel":4},"zh-Hant":{"href":"/overview","matchLevel":4},"nl":{"href":"/overview","matchLevel":4},"jp":{"href":"/overview","matchLevel":4}}},"lastModified":"2026-06-30T22:37:55.403Z","originalFileLocation":"api-reference/file-upload-api/complete-multipart-upload.mdx","locale":"en"},"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=\"Merge the uploaded parts into a single file. Submit the file_id and upload_id from generate-presigned-urls along with the ETag collected from each part\u0026#x27;s PUT response.The returned DownloadUrl is valid for 24 hours.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Plaud Dev 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/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_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/plaud/nlLfkc9tz92mhJFv/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Complete Multipart Upload - Plaud Dev API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Merge the uploaded parts into a single file. Submit the file_id and upload_id from generate-presigned-urls along with the ETag collected from each part\u0026#x27;s PUT response.The returned DownloadUrl is valid for 24 hours.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Plaud Dev API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://plaud.mintlify.app/_mintlify/api/og/v2?division=File+Upload+API\u0026amp;title=Complete+Multipart+Upload\u0026amp;description=Merge+the+uploaded+parts+into+a+single+file.%0A%0ASubmit+the+%60file_id%60+and+%60upload_id%60+from+generate-presigned-urls+along+with+the+%60ETag%60+collected+from+each+part%27s\u0026amp;theme=11aaecb1918fbe201ed10540\u0026amp;signature=9a35fe443f5353de080cc2b5604f639057cd7a1e52d98d16146f322d3639a944\">\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=\"Complete Multipart Upload - Plaud Dev API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Merge the uploaded parts into a single file. Submit the file_id and upload_id from generate-presigned-urls along with the ETag collected from each part\u0026#x27;s PUT response.The returned DownloadUrl is valid for 24 hours.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://plaud.mintlify.app/_mintlify/api/og/v2?division=File+Upload+API\u0026amp;title=Complete+Multipart+Upload\u0026amp;description=Merge+the+uploaded+parts+into+a+single+file.%0A%0ASubmit+the+%60file_id%60+and+%60upload_id%60+from+generate-presigned-urls+along+with+the+%60ETag%60+collected+from+each+part%27s\u0026amp;theme=11aaecb1918fbe201ed10540\u0026amp;signature=9a35fe443f5353de080cc2b5604f639057cd7a1e52d98d16146f322d3639a944\">\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/plaud/nlLfkc9tz92mhJFv/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Plaud Dev API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#23a1ba\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"RgykNSELwR2FfPjJ67wnEJvRZnLbvvWj1Jq-OC1mDts\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-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/file-upload-api/complete-multipart-upload.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.plaud.ai/#organization\",\"name\":\"Plaud Dev API\",\"url\":\"https://docs.plaud.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/plaud/NcIGXAbuUj5XMDGP/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=NcIGXAbuUj5XMDGP\u0026q=85\u0026s=a5604c3522966e950c83b135b5447fd2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.plaud.ai#website\",\"name\":\"Plaud Dev API\",\"url\":\"https://docs.plaud.ai\",\"publisher\":{\"@id\":\"https://docs.plaud.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload#webpage\",\"url\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload\",\"name\":\"Complete Multipart Upload\",\"description\":\"Merge the uploaded parts into a single file. Submit the file_id and upload_id from generate-presigned-urls along with the ETag collected from each part's PUT response.The returned DownloadUrl is valid for 24 hours.\",\"dateModified\":\"2026-06-30T22:37:55.403Z\",\"isPartOf\":{\"@id\":\"https://docs.plaud.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.plaud.ai/plaud-embedded/auth-api-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"File Upload API\",\"item\":\"https://docs.plaud.ai/plaud-embedded/file-api-overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Complete Multipart Upload\",\"item\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload#apireference\",\"headline\":\"Complete Multipart Upload\",\"name\":\"Complete Multipart Upload\",\"description\":\"Merge the uploaded parts into a single file. Submit the file_id and upload_id from generate-presigned-urls along with the ETag collected from each part's PUT response.The returned DownloadUrl is valid for 24 hours.\",\"url\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload\",\"mainEntityOfPage\":{\"@id\":\"https://docs.plaud.ai/api-reference/file-upload-api/complete-multipart-upload#webpage\"},\"dateModified\":\"2026-06-30T22:37:55.403Z\",\"publisher\":{\"@id\":\"https://docs.plaud.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.plaud.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Plaud Dev API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Plaud Dev API","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Developer Platform","pages":[{"title":"Developer Platform","href":"/overview"}]},{"tab":"Plaud Embedded","pages":[{"group":"Overview","pages":[{"title":"Plaud Embedded Overview","sidebarTitle":"Embedded Overview","href":"/plaud-embedded/overview"},{"title":"Plaud Devices","mode":"wide","href":"/plaud-embedded/devices"},{"title":"Quickstart","sidebarTitle":"Quickstart","href":"/plaud-embedded/quickstart"},{"title":"How Plaud Embedded Works","sidebarTitle":"How Plaud Embedded Works","href":"/plaud-embedded/how-plaud-embedded-works"}]},{"group":"Embedded SDK Reference","pages":[{"group":"iOS SDK","icon":"apple","pages":[{"title":"iOS SDK","sidebarTitle":"General iOS SDK Usage","href":"/plaud-embedded/ios-sdk"},{"title":"Low-Level iOS SDK Methods","sidebarTitle":"Advanced iOS SDK Usage","href":"/plaud-embedded/advanced-ios-sdk"}]},{"group":"Android SDK","icon":"android","pages":[{"title":"Android SDK","sidebarTitle":"General Android SDK Usage","href":"/plaud-embedded/android-sdk"},{"title":"Low-Level Android SDK Methods","sidebarTitle":"Advanced Android SDK Usage","href":"/plaud-embedded/advanced-android-sdk"}]}]},{"group":"API Reference","pages":[{"group":"Authentication API","pages":[{"title":"Authentication APIs","sidebarTitle":"Overview","href":"/plaud-embedded/auth-api-overview"},{"title":"Get Partner Token","deprecated":null,"version":null,"openapi":"/openapi/auth.json post /oauth/partner/access-token","href":"/api-reference/authentication-api/get-partner-token"},{"title":"Refresh Partner Token","deprecated":null,"version":null,"openapi":"/openapi/auth.json post /oauth/partner/access-token/refresh","href":"/api-reference/authentication-api/refresh-partner-token"},{"title":"Get User Token","deprecated":null,"version":null,"openapi":"/openapi/auth.json post /open/partner/users/access-token","href":"/api-reference/authentication-api/get-user-token"}]},{"group":"Device Binding API","pages":[{"title":"Device Binding APIs","sidebarTitle":"Overview","href":"/plaud-embedded/device-binding-api-overview"},{"title":"Bind Device","deprecated":null,"version":null,"openapi":"/openapi/binding.json post /open/partner/sdk/bind","href":"/api-reference/device-binding-api/bind-device"},{"title":"Unbind Device","deprecated":null,"version":null,"openapi":"/openapi/binding.json post /open/partner/sdk/unbind","href":"/api-reference/device-binding-api/unbind-device"},{"title":"Get Device Binding","deprecated":null,"version":null,"openapi":"/openapi/binding.json get /open/partner/sdk/binding","href":"/api-reference/device-binding-api/get-device-binding"}]},{"group":"File Upload API","pages":[{"title":"File Upload API","sidebarTitle":"Overview","href":"/plaud-embedded/file-api-overview"},{"title":"Generate Presigned Upload URLs","description":"Request presigned S3 URLs for a multipart upload.\n\n\u003cNote>The file is split into chunks of 5 MB with one presigned URL per part.\u003c/Note>\n\nFor each part returned:\n\n1. **Send raw bytes to S3** — `PUT PresignedUrl` the raw bytes of the chunk to (no auth needed).\n2. **Collect the `ETag`** from each S3 response header — These will be needed in the [complete-upload endpoint](/api-reference/file-upload-api/complete-multipart-upload).","deprecated":null,"version":null,"openapi":"/openapi/file.json post /open/partner/files/upload/generate-presigned-urls","href":"/api-reference/file-upload-api/generate-presigned-upload-urls"},{"title":"Complete Multipart Upload","deprecated":null,"version":null,"openapi":"/openapi/file.json post /open/partner/files/upload/complete-upload","href":"/api-reference/file-upload-api/complete-multipart-upload"}]},{"group":"Transcription API","pages":[{"title":"Transcription API","description":"Transcribe your user's conversation audio with Plaud's ASR and transcription models.","sidebarTitle":"Overview","href":"/plaud-embedded/transcription-api-overview"},{"title":"Submit Audio for Transcription","deprecated":null,"version":null,"openapi":"/openapi/transcription.json post /open/partner/ai/transcriptions/","href":"/api-reference/transcription-api/submit-audio-for-transcription"},{"title":"Get Transcription Task","deprecated":null,"version":null,"openapi":"/openapi/transcription.json get /open/partner/ai/transcriptions/{transcription_id}","href":"/api-reference/transcription-api/get-transcription-task"}]},{"title":"API Playground","url":"https://plaud-embedded-playground.vercel.app/","href":"/plaud-embedded/api-playground"}]},{"group":"Starter Apps \u0026 Guides","pages":[{"title":"iOS Starter App","sidebarTitle":"iOS Starter App","icon":"apple","href":"/plaud-embedded/ios-starter-app"},{"title":"Android Starter App","sidebarTitle":"Android Starter App","icon":"android","href":"/plaud-embedded/android-starter-app"},{"title":"Using React Native","sidebarTitle":"Using React Native","href":"/plaud-embedded/react-native"},{"title":"Using Flutter","sidebarTitle":"Using Flutter","href":"/plaud-embedded/flutter"},{"title":"Web App to Mobile App","sidebarTitle":"Web App to Mobile App","href":"/plaud-embedded/web-app-wrapper"},{"title":"Background Syncs","href":"/plaud-embedded/background-syncs"}]},{"group":"Resources","pages":[{"title":"Billing","href":"/plaud-embedded/billing"},{"title":"Data Retention","href":"/plaud-embedded/data-retention"},{"title":"Changelog","sidebarTitle":"Changelog","href":"/plaud-embedded/changelog"}]}]},{"tab":"Plaud MCP \u0026 CLI","pages":[{"title":"Plaud MCP \u0026 CLI","href":"/plaud-mcp-cli/mcp"}]},{"tab":"Enterprise API","hidden":true,"pages":[{"title":"Enterprise API","href":"/enterprise-api/overview"}]}]},{"language":"es","pages":[{"title":"es","href":"/overview"}]},{"language":"fr","pages":[{"title":"fr","href":"/overview"}]},{"language":"de","pages":[{"title":"de","href":"/overview"}]},{"language":"pt","pages":[{"title":"pt","href":"/overview"}]},{"language":"it","pages":[{"title":"it","href":"/overview"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/overview"}]},{"language":"nl","pages":[{"title":"nl","href":"/overview"}]},{"language":"jp","pages":[{"title":"jp","href":"/overview"}]}]},"basePath":"","title":"Complete Multipart Upload - Plaud Dev API","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}