Plans with WhatsApp (Pro and up) can use this endpoint. On other plans it returns 403.Use it for a WhatsApp template whose header is an image, video or document. WhatsApp gets the header file from a link, and that link must point to Nedzo’s storage. Get a link to upload one file. Then:
PUT the file bytes to uploadUrl, with the Content-Type header set to contentType.
Send the template with Send a WhatsApp message, with template.parameters.header set to { "type": type, "link": link } from this answer. Add filename for a document.
The upload link works for 2 hours. Each link puts the file at a new address, so it can’t replace another file. The file stays after the link ends, so you can send one upload as many times as you like.
Extension
contentType
Header type
Largest file
jpg, jpeg
image/jpeg
image
5 MB
png
image/png
image
5 MB
mp4
video/mp4
video
16 MB
pdf
application/pdf
document
16 MB
The link fixes the address, not the file type or size. Send the contentType from this answer when you upload. A file of another type, or one over the size limit, uploads, but the send refuses it with 400.Anyone with the link can open the file.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Nedzo","colors":{"primary":"#2e79ff","light":"#5a9aff","dark":"#2e79ff"},"favicon":"https://mintlify.s3.us-west-1.amazonaws.com/nedzoai/favicon.png","logo":{"light":"https://mintcdn.com/nedzoai/0cscfgNlBg1KdrWc/logo/logo.png?fit=max\u0026auto=format\u0026n=0cscfgNlBg1KdrWc\u0026q=85\u0026s=e06023604ef01b7035733cfb69ef32be","dark":"https://mintcdn.com/nedzoai/0cscfgNlBg1KdrWc/logo/logo.png?fit=max\u0026auto=format\u0026n=0cscfgNlBg1KdrWc\u0026q=85\u0026s=e06023604ef01b7035733cfb69ef32be"},"api":{"openapi":"https://api.nedzo.ai/v1/openapi.json","mdx":{"server":"https://api.nedzo.ai/v1","auth":{"method":"bearer","name":null}}},"navbar":{"links":[{"label":"Support","href":"mailto:support@nedzo.ai"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.nedzo.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/nedzo"}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Community","href":"https://www.skool.com/nedzo-ai","icon":"users"},{"anchor":"Academy","href":"https://www.skool.com/nedzo-ai/classroom","icon":"graduation-cap"},{"anchor":"Status","href":"https://status.nedzo.ai","icon":"signal-bars"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nedzoai","hasAudioNarration":false,"actualSubdomain":"nedzoai","customDomains":["docs.nedzo.ai"],"gitSource":{"type":"github","owner":"nedzoai","repo":"nedzo-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"issues":true},"entitlements":{},"buildId":"6af6d900ea2e3b727f3c1cc3","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":87},{"language":"default","tag":"Documentation","count":52},{"language":"default","tag":"Workflows","count":29},{"language":"default","tag":"Agents","count":25},{"language":"default","tag":"Workspaces","count":13},{"language":"default","tag":"Billing","count":12},{"language":"default","tag":"Contacts","count":10},{"language":"default","tag":"Integrations","count":10},{"language":"default","tag":"Campaigns","count":9},{"language":"default","tag":"Actions","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/conversations/whatsapp-upload","slug":"/api-reference/conversations/whatsapp-upload","pageMetadata":{"title":"Upload a WhatsApp header file","api":"POST /conversations/whatsapp/uploads","description":"Get a link to upload the image, video or document a WhatsApp template's header shows.","href":"/api-reference/conversations/whatsapp-upload"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Get a link to upload the image, video or document a WhatsApp template’s header shows.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,ParamField,Table,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Plans with WhatsApp (Pro and up) can use this endpoint. On other plans it returns `,_jsx(_components.code,{children:`403`}),`.`]}),`\n`,_jsx(_components.p,{children:`Use it for a WhatsApp template whose header is an image, video or document. WhatsApp gets the header file from a link, and that link must point to Nedzo’s storage. Get a link to upload one file. Then:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PUT`}),` the file bytes to `,_jsx(_components.code,{children:`uploadUrl`}),`, with the `,_jsx(_components.code,{children:`Content-Type`}),` header set to `,_jsx(_components.code,{children:`contentType`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Send the template with `,_jsx(_components.a,{href:`/api-reference/conversations/send-whatsapp`,children:`Send a WhatsApp message`}),`, with `,_jsx(_components.code,{children:`template.parameters.header`}),` set to `,_jsx(_components.code,{children:`{ \"type\": type, \"link\": link }`}),` from this answer. Add `,_jsx(_components.code,{children:`filename`}),` for a document.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The upload link works for 2 hours. Each link puts the file at a new address, so it can’t replace another file. The file stays after the link ends, so you can send one upload as many times as you like.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Extension`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`contentType`})}),_jsxs(_components.th,{children:[`Header `,_jsx(_components.code,{children:`type`})]}),_jsx(_components.th,{children:`Largest file`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`jpg`}),`, `,_jsx(_components.code,{children:`jpeg`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image/jpeg`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`png`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image/png`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mp4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`video/mp4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`video`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`16 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pdf`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`application/pdf`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`16 MB`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The link fixes the address, not the file type or size. Send the `,_jsx(_components.code,{children:`contentType`}),` from this answer when you upload. A file of another type, or one over the size limit, uploads, but the send refuses it with `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Anyone with the `,_jsx(_components.code,{children:`link`}),` can open the file.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`workspaceId`}),` is required when your account has more than one workspace. See `,_jsx(_components.a,{href:`/authentication#workspace-id-and-request-scope`,children:`Workspace ID and Request Scope`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsx(ParamField,{body:`workspaceId`,type:`string`,optional:true,id:`param-workspace-id`,children:_jsx(_components.p,{children:`The workspace. Required when your account has more than one workspace.`})}),`\n`,_jsx(ParamField,{body:`fileName`,type:`string`,required:true,id:`param-file-name`,children:_jsxs(_components.p,{children:[`The file name, with its extension: `,_jsx(_components.code,{children:`.jpg`}),`, `,_jsx(_components.code,{children:`.jpeg`}),`, `,_jsx(_components.code,{children:`.png`}),`, `,_jsx(_components.code,{children:`.mp4`}),` or `,_jsx(_components.code,{children:`.pdf`}),`. Up to 255 characters.`]})}),`\n`,_jsx(ParamField,{body:`contentType`,type:`string`,required:true,id:`param-content-type`,children:_jsx(_components.p,{children:`The file type from the table above. It must match the extension.`})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[`The body is not valid, WhatsApp does not take this file type in a template header, or `,_jsx(_components.code,{children:`fileName`}),` does not have an extension for `,_jsx(_components.code,{children:`contentType`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`402`})}),_jsx(_components.td,{children:`The account has no plan in force.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[`Your plan does not include WhatsApp, or the workspace is locked. For a locked workspace the answer has `,_jsx(_components.code,{children:`workspaceLocked: true`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`The workspace is not in your API key’s scope.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Too many requests in a short time. Wait, then try again.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`502`})}),_jsx(_components.td,{children:`We could not check the workspace or create a link. Try again.`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Upload a WhatsApp header file","api":"POST /conversations/whatsapp/uploads","description":"Get a link to upload the image, video or document a WhatsApp template's header shows.","href":"/api-reference/conversations/whatsapp-upload"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,ParamField,RequestExample,ResponseExample,Table,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Plans with WhatsApp (Pro and up) can use this endpoint. On other plans it returns `,_jsx(_components.code,{children:`403`}),`.`]}),`\n`,_jsx(_components.p,{children:`Use it for a WhatsApp template whose header is an image, video or document. WhatsApp gets the header file from a link, and that link must point to Nedzo’s storage. Get a link to upload one file. Then:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`PUT`}),` the file bytes to `,_jsx(_components.code,{children:`uploadUrl`}),`, with the `,_jsx(_components.code,{children:`Content-Type`}),` header set to `,_jsx(_components.code,{children:`contentType`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Send the template with `,_jsx(_components.a,{href:`/api-reference/conversations/send-whatsapp`,children:`Send a WhatsApp message`}),`, with `,_jsx(_components.code,{children:`template.parameters.header`}),` set to `,_jsx(_components.code,{children:`{ \"type\": type, \"link\": link }`}),` from this answer. Add `,_jsx(_components.code,{children:`filename`}),` for a document.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The upload link works for 2 hours. Each link puts the file at a new address, so it can’t replace another file. The file stays after the link ends, so you can send one upload as many times as you like.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Extension`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`contentType`})}),_jsxs(_components.th,{children:[`Header `,_jsx(_components.code,{children:`type`})]}),_jsx(_components.th,{children:`Largest file`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`jpg`}),`, `,_jsx(_components.code,{children:`jpeg`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image/jpeg`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`png`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image/png`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`image`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`5 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`mp4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`video/mp4`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`video`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`16 MB`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`pdf`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`application/pdf`})}),_jsx(_components.td,{children:_jsx(_components.code,{children:`document`})}),_jsx(_components.td,{\"data-numeric\":`true`,children:`16 MB`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The link fixes the address, not the file type or size. Send the `,_jsx(_components.code,{children:`contentType`}),` from this answer when you upload. A file of another type, or one over the size limit, uploads, but the send refuses it with `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Anyone with the `,_jsx(_components.code,{children:`link`}),` can open the file.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`workspaceId`}),` is required when your account has more than one workspace. See `,_jsx(_components.a,{href:`/authentication#workspace-id-and-request-scope`,children:`Workspace ID and Request Scope`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsx(ParamField,{body:`workspaceId`,type:`string`,optional:true,id:`param-workspace-id`,children:_jsx(_components.p,{children:`The workspace. Required when your account has more than one workspace.`})}),`\n`,_jsx(ParamField,{body:`fileName`,type:`string`,required:true,id:`param-file-name`,children:_jsxs(_components.p,{children:[`The file name, with its extension: `,_jsx(_components.code,{children:`.jpg`}),`, `,_jsx(_components.code,{children:`.jpeg`}),`, `,_jsx(_components.code,{children:`.png`}),`, `,_jsx(_components.code,{children:`.mp4`}),` or `,_jsx(_components.code,{children:`.pdf`}),`. Up to 255 characters.`]})}),`\n`,_jsx(ParamField,{body:`contentType`,type:`string`,required:true,id:`param-content-type`,children:_jsx(_components.p,{children:`The file type from the table above. It must match the extension.`})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[`The body is not valid, WhatsApp does not take this file type in a template header, or `,_jsx(_components.code,{children:`fileName`}),` does not have an extension for `,_jsx(_components.code,{children:`contentType`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`402`})}),_jsx(_components.td,{children:`The account has no plan in force.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[`Your plan does not include WhatsApp, or the workspace is locked. For a locked workspace the answer has `,_jsx(_components.code,{children:`workspaceLocked: true`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`404`})}),_jsx(_components.td,{children:`The workspace is not in your API key’s scope.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsx(_components.td,{children:`Too many requests in a short time. Wait, then try again.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`502`})}),_jsx(_components.td,{children:`We could not check the workspace or create a link. Try again.`})]})]})]}),`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.nedzo.ai/v1/conversations/whatsapp/uploads\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"fileName\": \"spring-promo.png\", \"contentType\": \"image/png\" }'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Then upload the file to the uploadUrl from the answer`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PUT`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"UPLOAD_URL\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: image/png\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --data-binary`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` @spring-promo.png`})]}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`Response (201)`,numberOfLines:`10`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`10`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uploadUrl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"method\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PUT\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://...\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"fileName\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"spring-promo.png\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"contentType\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"image/png\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"maxBytes\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5242880`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expiresAt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-11-13T12:00:00Z\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Upload a WhatsApp header file","api":"POST /conversations/whatsapp/uploads","description":"Get a link to upload the image, video or document a WhatsApp template's header shows.","href":"/api-reference/conversations/whatsapp-upload"}}}},"mdxExtracts":{"tableOfContents":[{"title":"Body Parameters","slug":"body-parameters","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"9\">\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> POST\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"https://api.nedzo.ai/v1/conversations/whatsapp/uploads\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Authorization: Bearer YOUR_API_KEY\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -d\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> '{ \"fileName\": \"spring-promo.png\", \"contentType\": \"image/png\" }'\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#6E7781;--shiki-dark:#6A9955\"># Then upload the file to the uploadUrl from the answer\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#953800;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -X\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> PUT\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"UPLOAD_URL\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> -H\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"Content-Type: image/png\"\u003c/span>\u003cspan style=\"color:#CF222E;--shiki-dark:#D7BA7D\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\"> --data-binary\u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> @spring-promo.png\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"Response (201)","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"10\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"uploadUrl\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://...\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"method\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"PUT\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"link\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"https://...\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"image\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"fileName\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"spring-promo.png\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"contentType\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"image/png\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"maxBytes\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">5242880\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"expiresAt\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"2026-11-13T12:00:00Z\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Upload a WhatsApp header file","path":"/conversations/whatsapp/uploads","servers":[{"url":"https://api.nedzo.ai/v1"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"workspaceId":[{"type":"string","description":"The workspace. Required when your account has more than one workspace."}],"fileName":[{"type":"string","description":"The file name, with its extension: `.jpg` , `.jpeg` , `.png` , `.mp4` or `.pdf` . Up to 255 characters.","required":true}],"contentType":[{"type":"string","description":"The file type from the table above. It must match the extension.","required":true}]}}],"examples":{"example":{"value":{"workspaceId":"\u003cstring>","fileName":"\u003cstring>","contentType":"\u003cstring>"}}}}}},"response":{},"deprecated":false}},"jsLinks":[],"subdomain":"nedzoai","siteName":"Nedzo","title":"Upload a WhatsApp header file - Nedzo","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T09:32:01.649Z","originalFileLocation":"api-reference/conversations/whatsapp-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=\"Get a link to upload the image, video or document a WhatsApp template\u0026#x27;s header shows.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nedzo\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/nedzoai/favicon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/nedzoai/favicon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/nedzoai/favicon.png\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/png\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/nedzoai/favicon.png\">\u003cmeta data-mint-head property=\"og:title\" content=\"Upload a WhatsApp header file - Nedzo\">\u003cmeta data-mint-head property=\"og:description\" content=\"Get a link to upload the image, video or document a WhatsApp template\u0026#x27;s header shows.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nedzo\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nedzoai.mintlify.site/_mintlify/api/og/v2?division=Conversations\u0026amp;title=Upload+a+WhatsApp+header+file\u0026amp;description=Get+a+link+to+upload+the+image%2C+video+or+document+a+WhatsApp+template%27s+header+shows.\u0026amp;theme=f3886dfb76ec709059304224\u0026amp;signature=ff692f22875d51963590d0985af84e4a83673dff0bd9b330aa4659bccfd6874c\">\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=\"Upload a WhatsApp header file - Nedzo\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Get a link to upload the image, video or document a WhatsApp template\u0026#x27;s header shows.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nedzoai.mintlify.site/_mintlify/api/og/v2?division=Conversations\u0026amp;title=Upload+a+WhatsApp+header+file\u0026amp;description=Get+a+link+to+upload+the+image%2C+video+or+document+a+WhatsApp+template%27s+header+shows.\u0026amp;theme=f3886dfb76ec709059304224\u0026amp;signature=ff692f22875d51963590d0985af84e4a83673dff0bd9b330aa4659bccfd6874c\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/nedzoai/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nedzo\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2e79ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-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/conversations/whatsapp-upload.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nedzo.ai/#organization\",\"name\":\"Nedzo\",\"url\":\"https://docs.nedzo.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nedzoai/0cscfgNlBg1KdrWc/logo/logo.png?fit=max\u0026auto=format\u0026n=0cscfgNlBg1KdrWc\u0026q=85\u0026s=e06023604ef01b7035733cfb69ef32be\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nedzo.ai#website\",\"name\":\"Nedzo\",\"url\":\"https://docs.nedzo.ai\",\"publisher\":{\"@id\":\"https://docs.nedzo.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload#webpage\",\"url\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload\",\"name\":\"Upload a WhatsApp header file\",\"description\":\"Get a link to upload the image, video or document a WhatsApp template's header shows.\",\"dateModified\":\"2026-11-13T09:32:01.649Z\",\"isPartOf\":{\"@id\":\"https://docs.nedzo.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Conversations\",\"item\":\"https://docs.nedzo.ai/api-reference/conversations/list\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upload a WhatsApp header file\",\"item\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload#apireference\",\"headline\":\"Upload a WhatsApp header file\",\"name\":\"Upload a WhatsApp header file\",\"description\":\"Get a link to upload the image, video or document a WhatsApp template's header shows.\",\"url\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nedzo.ai/api-reference/conversations/whatsapp-upload#webpage\"},\"dateModified\":\"2026-11-13T09:32:01.649Z\",\"publisher\":{\"@id\":\"https://docs.nedzo.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nedzo.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nedzo\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Nedzo\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/conversations/whatsapp-upload.md","siteName":"Nedzo","nav":{"global":{"anchors":[{"anchor":"Community","href":"https://www.skool.com/nedzo-ai","icon":"users"},{"anchor":"Academy","href":"https://www.skool.com/nedzo-ai/classroom","icon":"graduation-cap"},{"anchor":"Status","href":"https://status.nedzo.ai","icon":"signal-bars"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]},{"group":"Workspaces","pages":[{"title":"List workspaces","api":"GET /workspaces","href":"/api-reference/workspaces/list"},{"title":"Create workspace","api":"POST /workspaces","href":"/api-reference/workspaces/create"},{"title":"Get workspace","api":"GET /workspaces/{id}","href":"/api-reference/workspaces/get"},{"title":"Update workspace","api":"PATCH /workspaces/{id}","href":"/api-reference/workspaces/update"},{"title":"Delete workspace","api":"DELETE /workspaces/{id}","href":"/api-reference/workspaces/delete"},{"group":"Billing","pages":[{"title":"Get wallet balance","api":"GET /workspaces/{workspaceId}/billing/balance","href":"/api-reference/workspace-billing/get-balance"},{"title":"Credit wallet","api":"POST /workspaces/{workspaceId}/billing/wallet/credit","href":"/api-reference/workspace-billing/credit-wallet"},{"title":"Debit wallet","api":"POST /workspaces/{workspaceId}/billing/wallet/debit","href":"/api-reference/workspace-billing/debit-wallet"},{"title":"List wallet transactions","api":"GET /workspaces/{workspaceId}/billing/transactions","href":"/api-reference/workspace-billing/list-transactions"},{"title":"Get usage summary","api":"GET /workspaces/{workspaceId}/billing/usage","href":"/api-reference/workspace-billing/get-usage"},{"title":"List payment methods","api":"GET /workspaces/{workspaceId}/billing/payment-methods","href":"/api-reference/workspace-billing/list-payment-methods"},{"title":"Create setup intent","api":"POST /workspaces/{workspaceId}/billing/payment-methods/setup-intent","href":"/api-reference/workspace-billing/create-setup-intent"},{"title":"Attach payment method","api":"POST /workspaces/{workspaceId}/billing/payment-methods/attach","href":"/api-reference/workspace-billing/attach-payment-method"}]}]},{"group":"Agents","pages":[{"title":"List agents","api":"GET /agents","href":"/api-reference/agents/list"},{"title":"Create agent","api":"POST /agents","href":"/api-reference/agents/create"},{"title":"Get agent","api":"GET /agents/{id}","href":"/api-reference/agents/get"},{"title":"Update agent","api":"PATCH /agents/{id}","href":"/api-reference/agents/update"},{"title":"Delete agent","api":"DELETE /agents/{id}","href":"/api-reference/agents/delete"},{"title":"Duplicate agent","api":"POST /agents/{agentId}/duplicate","href":"/api-reference/agents/duplicate"},{"title":"Test agent webhook","api":"POST /agents/{agentId}/test-webhook","href":"/api-reference/agents/test-webhook"},{"title":"Agent knowledge","href":"/api-reference/agents/knowledge"},{"title":"Agent actions","href":"/api-reference/agents/actions"},{"title":"Custom actions","href":"/api-reference/agents/custom-actions"},{"title":"MCP servers","href":"/api-reference/agents/mcp-servers"},{"title":"Extraction fields","href":"/api-reference/agents/extraction-fields"},{"title":"List calendars","api":"GET /calendars","href":"/api-reference/agents/calendars"},{"title":"Give an agent a phone number","api":"PUT /agents/{agentId}/phone-number","href":"/api-reference/agents/assign-phone-number"},{"title":"Take an agent's phone numbers away","api":"DELETE /agents/{agentId}/phone-number","href":"/api-reference/agents/unassign-phone-number"}]},{"group":"Phone Numbers","pages":[{"title":"List phone numbers","api":"GET /phone-numbers","href":"/api-reference/phone-numbers/list"},{"title":"Search numbers","api":"POST /phone-numbers/search","href":"/api-reference/phone-numbers/search"},{"title":"Buy a phone number","api":"POST /phone-numbers","href":"/api-reference/phone-numbers/buy"},{"title":"Get a phone number","api":"GET /phone-numbers/{id}","href":"/api-reference/phone-numbers/get"},{"title":"Update a phone number","api":"PATCH /phone-numbers/{id}","href":"/api-reference/phone-numbers/update"},{"title":"Release a phone number","api":"DELETE /phone-numbers/{id}","href":"/api-reference/phone-numbers/release"}]},{"group":"Contacts","pages":[{"title":"List contacts","api":"GET /contacts","href":"/api-reference/contacts/list"},{"title":"Create contact","api":"POST /contacts","href":"/api-reference/contacts/create"},{"title":"Upsert contact","api":"POST /contacts/upsert","href":"/api-reference/contacts/upsert"},{"title":"Get contact","api":"GET /contacts/{id}","href":"/api-reference/contacts/get"},{"title":"Update contact","api":"PATCH /contacts/{id}","href":"/api-reference/contacts/update"},{"title":"Delete contact","api":"DELETE /contacts/{id}","href":"/api-reference/contacts/delete"},{"title":"Import contacts in bulk","href":"/api-reference/contacts/bulk"},{"title":"Contact tags","href":"/api-reference/contacts/tags"},{"title":"Contact custom fields","href":"/api-reference/contacts/custom-fields"},{"title":"Contact views","href":"/api-reference/contacts/views"}]},{"group":"Knowledge","pages":[{"title":"List knowledge","api":"GET /knowledge","href":"/api-reference/knowledge/list"},{"title":"Add knowledge","api":"POST /knowledge","href":"/api-reference/knowledge/create"},{"title":"Get a file upload link","api":"POST /knowledge/uploads","href":"/api-reference/knowledge/upload"},{"title":"Get knowledge","api":"GET /knowledge/{id}","href":"/api-reference/knowledge/get"},{"title":"Update knowledge","api":"PATCH /knowledge/{id}","href":"/api-reference/knowledge/update"},{"title":"Delete knowledge","api":"DELETE /knowledge/{id}","href":"/api-reference/knowledge/delete"}]},{"group":"Templates","pages":[{"title":"List templates","api":"GET /templates","href":"/api-reference/templates/list"},{"title":"Create template","api":"POST /templates","href":"/api-reference/templates/create"},{"title":"Get template","api":"GET /templates/{id}","href":"/api-reference/templates/get"},{"title":"Update template","api":"PATCH /templates/{id}","href":"/api-reference/templates/update"},{"title":"Delete template","api":"DELETE /templates/{id}","href":"/api-reference/templates/delete"},{"title":"Import template","api":"POST /templates/{id}/import","href":"/api-reference/templates/import"},{"title":"Duplicate template","api":"POST /templates/{id}/duplicate","href":"/api-reference/templates/duplicate"}]},{"group":"Campaigns","pages":[{"title":"List campaigns","api":"GET /campaigns","href":"/api-reference/campaigns/list"},{"title":"Create a campaign","api":"POST /campaigns","href":"/api-reference/campaigns/create"},{"title":"Get a campaign","api":"GET /campaigns/{id}","href":"/api-reference/campaigns/get"},{"title":"Update, start or pause a campaign","api":"PATCH /campaigns/{id}","href":"/api-reference/campaigns/update"},{"title":"Delete a campaign","api":"DELETE /campaigns/{id}","href":"/api-reference/campaigns/delete"},{"title":"List campaign contacts","api":"GET /campaigns/{id}/contacts","href":"/api-reference/campaigns/contacts"},{"title":"Get campaign results","api":"GET /campaigns/{id}/results","href":"/api-reference/campaigns/results"},{"title":"Stop calling a contact","api":"POST /campaigns/{id}/contacts/{contactId}/stop","href":"/api-reference/campaigns/stop-contact"}]},{"group":"Calls","pages":[{"title":"Make a call","api":"POST /call","deprecated":true,"href":"/api-reference/calls"}]},{"group":"Workflows","pages":[{"title":"List workflows","api":"GET /workflows","href":"/api-reference/workflows/list"},{"title":"Create a workflow","api":"POST /workflows","href":"/api-reference/workflows/create"},{"title":"Get a workflow","api":"GET /workflows/{id}","href":"/api-reference/workflows/get"},{"title":"Replace a workflow","api":"PUT /workflows/{id}","href":"/api-reference/workflows/replace"},{"title":"Turn a workflow on or off","api":"PATCH /workflows/{id}","href":"/api-reference/workflows/turn-on-off"},{"title":"Delete a workflow","api":"DELETE /workflows/{id}","href":"/api-reference/workflows/delete"},{"title":"Publish or unpublish a workflow","api":"POST /workflows/{id}/publish","href":"/api-reference/workflows/publish"},{"title":"Versions","api":"GET /workflows/{id}/versions","href":"/api-reference/workflows/versions"},{"title":"Step types","api":"GET /workflows/action-types","href":"/api-reference/workflows/step-types"},{"title":"Add contacts to a workflow","api":"POST /workflows/{id}/enroll","href":"/api-reference/workflows/enroll"},{"title":"Runs","api":"GET /workflows/{id}/runs","href":"/api-reference/workflows/runs"}]},{"group":"Conversations","pages":[{"title":"List conversations","api":"GET /conversations","href":"/api-reference/conversations/list"},{"title":"Get a conversation","api":"GET /conversations/{id}","href":"/api-reference/conversations/get"},{"title":"Start a call","api":"POST /conversations/call","href":"/api-reference/conversations/send-call"},{"title":"Send an SMS","api":"POST /conversations/sms","href":"/api-reference/conversations/send-sms"},{"title":"Send an email","api":"POST /conversations/email","href":"/api-reference/conversations/send-email"},{"title":"Send a WhatsApp message","api":"POST /conversations/whatsapp","description":"Start a WhatsApp conversation with a contact or phone number, or reply in one.","href":"/api-reference/conversations/send-whatsapp"},{"title":"Upload a WhatsApp header file","api":"POST /conversations/whatsapp/uploads","href":"/api-reference/conversations/whatsapp-upload"},{"title":"Reply on Instagram","api":"POST /conversations/instagram","description":"Reply in an Instagram conversation, within 24 hours of the contact's last message.","href":"/api-reference/conversations/send-instagram"},{"title":"Reply on Messenger","api":"POST /conversations/messenger","href":"/api-reference/conversations/send-messenger"}]}]}]},"basePath":"","title":"Upload a WhatsApp header file - Nedzo","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js"]}