The bulk update endpoint allows you to modify multiple existing products in your catalog simultaneously. This is useful for updating prices, inventory, or product details in batch.
Authentication
This endpoint requires a valid JWT token in the x-auth-token header. You can find your token in the Developers section:
x-auth-token: your_jwt_token
Body Parameters
array
required
Array of products to update. Only include the fields you want to modify - omitted fields will remain unchanged.
Show Show product properties
string
required
Unique identifier for the product (required to identify which product to update)
string
Updated product title
string
Updated product description
string
Updated product image URL
string
Updated product page URL
array
Updated array of product variants
Show Show variant properties
string
required
Unique identifier for the variant (required to identify which variant to update)
string
Updated variant title
string
Updated variant price
number
Updated available quantity
string
Updated URL for this specific variant
array
Updated array of collection names this product belongs to
You can call the bulk update endpoint up to 100 times per 5 minutes.
After that will
Exceeding this limit will make it impossible for you to make further calls to this endpoint for 3, 12 and finally 24 hours. If this limit is exceeded four times you will not be allowed to make calls to this endpoint indefinitely.
Best Practices
Partial Updates: Only include fields that need to be updated - omitted fields will retain their current values.
Batch Size: Keep batches under 500 products to avoid rate limits.
Error Handling: Implement retry logic with exponential backoff for rate limit errors.
Validation: Always include the product and variant IDs to ensure correct updates.
Idempotency: The operation is not idempotent - sending the same update multiple times will cause issues.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TextYess docs","colors":{"primary":"#503ADC","light":"#A69BED","dark":"#503ADC"},"logo":{"light":"https://mintcdn.com/textyess/t3O0hQEylWfwxcNr/logo/light.svg?fit=max\u0026auto=format\u0026n=t3O0hQEylWfwxcNr\u0026q=85\u0026s=af4a37ed0241d715a4137af43ad4e343","dark":"https://mintcdn.com/textyess/t3O0hQEylWfwxcNr/logo/dark.svg?fit=max\u0026auto=format\u0026n=t3O0hQEylWfwxcNr\u0026q=85\u0026s=12f1fe0b4fafd7c8c31dbe528ef537a9"},"favicon":"https://mintcdn.com/textyess/t3O0hQEylWfwxcNr/favicon.svg?fit=max\u0026auto=format\u0026n=t3O0hQEylWfwxcNr\u0026q=85\u0026s=332866006d95f69588f56eb99b15f03b","api":{"mdx":{"auth":{"method":"key","name":"x-auth-token"},"server":"https://api-ai.textyess.com"}},"navbar":{"links":[{"href":"https://textyesssupport.zendesk.com/hc/en-us","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://ai.textyess.com"}},"footer":{"socials":{"instagram":"https://www.instagram.com/text_yess","linkedin":"https://www.linkedin.com/company/textyess"}},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"textyess","hasAudioNarration":false,"actualSubdomain":"textyess","customDomains":["docs.textyess.com"],"gitSource":{"type":"github","owner":"textyess","repo":"monorepo","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"feedback":{"edits":false},"entitlements":{},"buildId":"6af5eef827c119ec9a1effe6","clientVersion":"0.0.4128","searchFilterCounts":[{"language":"default","tag":"Automations","count":7},{"language":"default","tag":"AI agents","count":6},{"language":"default","tag":"Growth Tool Kit","count":6},{"language":"default","tag":"Account","count":5},{"language":"default","tag":"WooCommerce","count":5},{"language":"default","tag":"Get Started","count":4},{"language":"default","tag":"Products API","count":4},{"language":"default","tag":"Email","count":4},{"language":"default","tag":"Shopify","count":4},{"language":"default","tag":"Analytics API","count":4}]},"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":"bulk-update-products","slug":"/bulk-update-products","pageMetadata":{"title":"Bulk Update Products","api":"POST /products/bulk-update","description":"Update multiple products at once in your catalog","authMethod":"key","href":"/bulk-update-products"},"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: \"Update multiple products at once in your catalog\"\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`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Expandable,Heading,ParamField,ResponseField}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`The bulk update endpoint allows you to modify multiple existing products in your catalog simultaneously. This is useful for updating prices, inventory, or product details in batch.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsxs(_components.p,{children:[`This endpoint requires a valid JWT token in the `,_jsx(_components.code,{children:`x-auth-token`}),` header. You can find your token in the `,_jsx(_components.a,{href:`https://ai.textyess.com/developers`,children:`Developers section`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`x-auth-token:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` your_jwt_token`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsxs(ParamField,{body:`products`,type:`array`,required:true,initialValue:[{id:`prod_12345`,title:`Updated Product`,description:`An updated product description`,image:`https://example.com/updated-image.jpg`,url:`https://yourstore.com/products/updated-product`,variants:[{id:`var_12345`,title:`Updated Variant`,price:`39.99`,inventory_quantity:75,variant_url:`https://yourstore.com/products/updated-product/variant`}],collections:[`Best Sellers`]}],id:`param-products`,children:[_jsx(_components.p,{children:`Array of products to update. Only include the fields you want to modify - omitted fields will remain unchanged.`}),_jsxs(Expandable,{title:`Show product properties`,children:[_jsx(ParamField,{body:`id`,type:`string`,required:true,id:`param-id`,children:_jsx(_components.p,{children:`Unique identifier for the product (required to identify which product to update)`})}),_jsx(ParamField,{body:`title`,type:`string`,id:`param-title`,children:_jsx(_components.p,{children:`Updated product title`})}),_jsx(ParamField,{body:`description`,type:`string`,id:`param-description`,children:_jsx(_components.p,{children:`Updated product description`})}),_jsx(ParamField,{body:`image`,type:`string`,id:`param-image`,children:_jsx(_components.p,{children:`Updated product image URL`})}),_jsx(ParamField,{body:`url`,type:`string`,id:`param-url`,children:_jsx(_components.p,{children:`Updated product page URL`})}),_jsxs(ParamField,{body:`variants`,type:`array`,id:`param-variants`,children:[_jsx(_components.p,{children:`Updated array of product variants`}),_jsxs(Expandable,{title:`Show variant properties`,children:[_jsx(ParamField,{body:`id`,type:`string`,required:true,id:`param-id-1`,children:_jsx(_components.p,{children:`Unique identifier for the variant (required to identify which variant to update)`})}),_jsx(ParamField,{body:`title`,type:`string`,id:`param-title-1`,children:_jsx(_components.p,{children:`Updated variant title`})}),_jsx(ParamField,{body:`price`,type:`string`,id:`param-price`,children:_jsx(_components.p,{children:`Updated variant price`})}),_jsx(ParamField,{body:`inventory_quantity`,type:`number`,id:`param-inventory-quantity`,children:_jsx(_components.p,{children:`Updated available quantity`})}),_jsx(ParamField,{body:`variant_url`,type:`string`,id:`param-variant-url`,children:_jsx(_components.p,{children:`Updated URL for this specific variant`})})]})]}),_jsx(ParamField,{body:`collections`,type:`array`,id:`param-collections`,children:_jsx(_components.p,{children:`Updated array of collection names this product belongs to`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`success`,type:`boolean`,id:`param-success`,children:_jsx(_components.p,{children:`Indicates if the update was successful`})}),`\n`,_jsx(ResponseField,{name:`message`,type:`string`,id:`param-message`,children:_jsx(_components.p,{children:`A human-readable message describing the result`})}),`\n`,`\n`,_jsx(Heading,{level:`2`,id:`rate-limiting`,children:`Rate Limiting`}),`\n`,_jsxs(_components.p,{children:[`You can call the bulk update endpoint up to `,_jsx(_components.strong,{children:`100 times per 5 minutes`}),`.\nAfter that will\nExceeding this limit will make it impossible for you to make further calls to this endpoint for 3, 12 and finally 24 hours. `,_jsx(_components.strong,{children:`If this limit is exceeded four times you will not be allowed to make calls to this endpoint indefinitely`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best Practices`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Partial Updates`}),`: Only include fields that need to be updated - omitted fields will retain their current values.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Batch Size`}),`: Keep batches under 500 products to avoid rate limits.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Error Handling`}),`: Implement retry logic with exponential backoff for rate limit errors.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Validation`}),`: Always include the product and variant IDs to ensure correct updates.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Idempotency`}),`: The operation is not idempotent - sending the same update multiple times will cause issues.`]}),`\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":"Bulk Update Products","api":"POST /products/bulk-update","description":"Update multiple products at once in your catalog","authMethod":"key","href":"/bulk-update-products"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[353,357,"Example,ResponseFiel"],[596,611,"Example)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingM"],[4983,4994,"_jsxs(ResponseExample,{children:[_jsx(CodeBlock,{filename:`200`,numberOfLines:`4`,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:`4`,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:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_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:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Products update queued successfully\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`400`,numberOfLines:`3`,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:`3`,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:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"You hit rate limit\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`401`,numberOfLines:`3`,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:`3`,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:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Unauthorized\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(He"]]},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Body Parameters","slug":"body-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Rate Limiting","slug":"rate-limiting","depth":2,"children":[]},{"title":"Best Practices","slug":"best-practices","depth":2,"children":[]}],"codeExamples":{"response":{"type":"ResponseExample","children":[{"filename":"200","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=\"4\">\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\"> \"success\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">true\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Products update queued successfully\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"400","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=\"3\">\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\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"You hit rate limit\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"},{"filename":"401","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=\"3\">\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\"> \"message\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Unauthorized\"\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":"Bulk Update Products","path":"/products/bulk-update","servers":[{"url":"https://api-ai.textyess.com"}],"method":"post","request":{"security":[{"title":"API Key Auth","parameters":{"header":{"x-auth-token":{"type":"apiKey"}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"products":[{"type":"array","items":[{"type":"object","properties":{"id":[{"type":"string","description":"Unique identifier for the product (required to identify which product to update)","required":true}],"title":[{"type":"string","description":"Updated product title"}],"description":[{"type":"string","description":"Updated product description"}],"image":[{"type":"string","description":"Updated product image URL"}],"url":[{"type":"string","description":"Updated product page URL"}],"variants":[{"type":"array","items":[{"type":"object","properties":{"id":[{"type":"string","description":"Unique identifier for the variant (required to identify which variant to update)","required":true}],"title":[{"type":"string","description":"Updated variant title"}],"price":[{"type":"string","description":"Updated variant price"}],"inventory_quantity":[{"type":"number","description":"Updated available quantity"}],"variant_url":[{"type":"string","description":"Updated URL for this specific variant"}]}}],"description":"Updated array of product variants"}],"collections":[{"type":"array","items":[{"type":"object","properties":{}}],"description":"Updated array of collection names this product belongs to"}]}}],"description":"Array of products to update. Only include the fields you want to modify - omitted fields will remain unchanged.","required":true}]}}],"examples":{"example":{"value":{"products":[{"id":"\u003cstring>","title":"\u003cstring>","description":"\u003cstring>","image":"\u003cstring>","url":"\u003cstring>","variants":[{"id":"\u003cstring>","title":"\u003cstring>","price":"\u003cstring>","inventory_quantity":123,"variant_url":"\u003cstring>"}],"collections":[{}]}]}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"success":[{"type":"boolean","description":"Indicates if the update was successful"}],"message":[{"type":"string","description":"A human-readable message describing the result"}]}}],"examples":{"example":{"value":{"success":true,"message":"\u003cstring>"}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"textyess","siteName":"TextYess docs","title":"Bulk Update Products - TextYess docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-26T09:30:04.834Z","originalFileLocation":"bulk-update-products.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=\"Update multiple products at once in your catalog\">\u003cmeta data-mint-head name=\"application-name\" content=\"TextYess docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_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/textyess/rWvVNSh70A0kIzEC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk Update Products - TextYess docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update multiple products at once in your catalog\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TextYess docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.textyess.com/bulk-update-products\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://textyess.mintlify.site/_mintlify/api/og/v2?division=Products+API\u0026amp;title=Bulk+Update+Products\u0026amp;description=Update+multiple+products+at+once+in+your+catalog\u0026amp;theme=e7475ac06431e40e816aaf59\u0026amp;signature=7d176a3ef4e3edc2901a25654c6734ba69ff2fb9ae7352e604e179f19b048419\">\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=\"Bulk Update Products - TextYess docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update multiple products at once in your catalog\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://textyess.mintlify.site/_mintlify/api/og/v2?division=Products+API\u0026amp;title=Bulk+Update+Products\u0026amp;description=Update+multiple+products+at+once+in+your+catalog\u0026amp;theme=e7475ac06431e40e816aaf59\u0026amp;signature=7d176a3ef4e3edc2901a25654c6734ba69ff2fb9ae7352e604e179f19b048419\">\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/textyess/rWvVNSh70A0kIzEC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TextYess docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#503ADC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.textyess.com/bulk-update-products\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/bulk-update-products.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.textyess.com/#organization\",\"name\":\"TextYess docs\",\"url\":\"https://docs.textyess.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/textyess/t3O0hQEylWfwxcNr/logo/light.svg?fit=max\u0026auto=format\u0026n=t3O0hQEylWfwxcNr\u0026q=85\u0026s=af4a37ed0241d715a4137af43ad4e343\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.textyess.com#website\",\"name\":\"TextYess docs\",\"url\":\"https://docs.textyess.com\",\"publisher\":{\"@id\":\"https://docs.textyess.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.textyess.com/bulk-update-products#webpage\",\"url\":\"https://docs.textyess.com/bulk-update-products\",\"name\":\"Bulk Update Products\",\"description\":\"Update multiple products at once in your catalog\",\"dateModified\":\"2026-01-26T09:30:04.834Z\",\"isPartOf\":{\"@id\":\"https://docs.textyess.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.textyess.com/bulk-update-products#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.textyess.com/bulk-update-products#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Products API\",\"item\":\"https://docs.textyess.com/bulk-import-products\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk Update Products\",\"item\":\"https://docs.textyess.com/bulk-update-products\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.textyess.com/bulk-update-products#apireference\",\"headline\":\"Bulk Update Products\",\"name\":\"Bulk Update Products\",\"description\":\"Update multiple products at once in your catalog\",\"url\":\"https://docs.textyess.com/bulk-update-products\",\"mainEntityOfPage\":{\"@id\":\"https://docs.textyess.com/bulk-update-products#webpage\"},\"dateModified\":\"2026-01-26T09:30:04.834Z\",\"publisher\":{\"@id\":\"https://docs.textyess.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.textyess.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TextYess docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"TextYess docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/bulk-update-products.md","siteName":"TextYess docs","nav":{"global":null,"groups":[{"group":"Get Started","pages":[{"title":"What you can do with TextYess","href":"/introduction"},{"title":"Atlas, your AI assistant in TextYess","href":"/atlas"},{"title":"WhatsApp Integration","href":"/whatsapp-integration"},{"title":"Integrations: connect your store and your tools","href":"/integrations"}]},{"group":"Campaigns","pages":[{"title":"WhatsApp campaigns: create, review, test, schedule and send","href":"/campaigns/whatsapp-campaigns"},{"title":"WhatsApp templates: the 24-hour window, Meta review and reusable Inbox templates","href":"/campaigns/whatsapp-templates"},{"title":"AI campaigns: WhatsApp campaign ideas built from your store data","href":"/campaigns/ai-campaigns"}]},{"group":"Email","pages":[{"title":"Email campaigns: create, edit, test, schedule and send","href":"/email/email-campaigns"},{"title":"Email setup: sending domain, DNS records, warm-up and suppression list","href":"/email/email-setup"},{"title":"Email templates, email brand and design system","href":"/email/email-templates-and-brand"},{"title":"Email deliverability: DMARC and BIMI","href":"/email-deliverability-dmarc-bimi"}]},{"group":"Automations","pages":[{"title":"Automations: send WhatsApp and email messages automatically","href":"/flows/introduction"},{"title":"Automation triggers: what starts an automation","href":"/flows/triggers"},{"title":"Automation steps: messages, waits, conditions and actions","href":"/flows/steps"},{"title":"Conditions in automations: branch with a Conditional Split","href":"/flows/conditions"},{"title":"WhatsApp messages in automations: templates, buttons, media and discounts","href":"/flows/messages"},{"title":"Frequency cap and held messages in automations","href":"/flows/frequency-cap"},{"title":"Publish, test, stop and delete automations","href":"/flows/publishing-testing"}]},{"group":"Contacts","pages":[{"title":"Contacts: find, import, export, and manage your customers","href":"/contacts/contacts"},{"title":"Lists and segments: group your contacts for campaigns and automations","href":"/contacts/lists-and-segments"}]},{"group":"Inbox","pages":[{"title":"Inbox: answer customers and manage chats","href":"/manage-conversations"},{"title":"Notifications: choose which TextYess emails you get","href":"/notifications"},{"title":"Use TextYess on your smartphone","href":"/textyess-on-smartphones"}]},{"group":"AI agents","pages":[{"title":"WhatsApp Agent: set up the AI that answers on WhatsApp","href":"/agents/whatsapp-agent"},{"title":"Onsite Agent: set up the AI chat on your website","href":"/agents/onsite-agent"},{"title":"Voice Agent: the AI that answers your store's phone calls","href":"/agents/voice-agent"},{"title":"Knowledge Base: what the AI agents know about your store","href":"/agents/knowledge-base"},{"title":"Improve your AI agent's answers","href":"/improve-ai"},{"title":"Localize your WhatsApp bubble","href":"/localize-whatsapp-bubble"}]},{"group":"Analytics","pages":[{"title":"Performance analytics: revenue, orders, ROAS and order attribution","href":"/analytics"},{"title":"Store Intelligence: store revenue, customers and products","href":"/analytics/store-intelligence"},{"title":"Conversation Intelligence: the issues customers raise with your AI agent","href":"/analytics/conversation-intelligence"}]},{"group":"Growth Tool Kit","pages":[{"title":"Growth Tool Kit: chat bubble, popups, discount codes and more","href":"/growth-tools/overview"},{"title":"Popups: collect WhatsApp and email subscribers on your store","href":"/growth-tools/popups"},{"title":"Unique discount codes: one code for each customer","href":"/growth-tools/discount-codes"},{"title":"Quizzes in the Growth Tool Kit","href":"/growth-tools/quizzes"},{"title":"Product widget installation","href":"/product-widget-install"},{"title":"Back-in-stock button installation","href":"/back-in-stock-install"}]},{"group":"Account","pages":[{"title":"Plan, usage and billing","href":"/plan-and-billing"},{"title":"Account, team and settings","href":"/account-and-team"},{"title":"Change your WhatsApp profile photo and description","href":"/personalize-whatsapp"},{"title":"How to Get WhatsApp Official Business Account Status","href":"/whatsapp-business-accounts"},{"title":"Off-boarding flow","href":"/off-boarding"}]},{"group":"Shopify","pages":[{"title":"WhatsApp Bubble installation","href":"/widget-installation-shopify"},{"title":"Onsite Widget installation","href":"/onsite-widget-installation-shopify"},{"title":"Email Popup installation","href":"/email-popup-installation-shopify"},{"title":"Localize your popup","href":"/localize-popup"}]},{"group":"WooCommerce","pages":[{"title":"WooCommerce compatibility requirements","href":"/woocommerce-compatibility"},{"title":"WhatsApp Bubble installation","href":"/widget-installation-woocommerce"},{"title":"Onsite Widget installation","href":"/onsite-widget-installation-woocommerce"},{"title":"WooCommerce onboarding","href":"/woocommerce-onboarding"},{"title":"WooCommerce troubleshooting","href":"/woocommerce-troubleshooting"}]},{"group":"Magento","pages":[{"title":"Magento (Adobe Commerce) onboarding","href":"/magento-onboarding"}]},{"group":"Helpdesks and marketing tools","pages":[{"title":"Setup Gorgias","href":"/setup-gorgias"},{"title":"Setup Zendesk","href":"/setup-zendesk"},{"title":"Setup Klaviyo","href":"/setup-klaviyo"},{"title":"Setup Hubspot","href":"/setup-hubspot"}]},{"group":"TextYess MCP","pages":[{"title":"Start here","href":"/mcp-connector/start-here"},{"title":"Let an assistant prepare drafts","href":"/mcp-connector/prepare-drafts"},{"title":"Ask AI about these docs","href":"/mcp-connector/docs-assistant"}]},{"group":"Flows API","pages":[{"title":"Trigger a Flow","api":"POST /webhooks/flows/{id}","href":"/flow-webhook"}]},{"group":"Orders API","pages":[{"title":"Get Order","api":"GET /orders/{id}","href":"/get-new-order"},{"title":"Create Order","api":"POST /webhooks/v2/new-order/{organizationId}","href":"/new-order-webhook-v2"}]},{"group":"Conversations API","pages":[{"title":"Delete a conversation","api":"DELETE /organization-settings/conversations/{conversationId}","href":"/delete-conversation"}]},{"group":"Products API","pages":[{"title":"Bulk Import Products","api":"POST /products/bulk-import","description":"Import multiple products at once into your catalog","href":"/bulk-import-products"},{"title":"Bulk Update Products","api":"POST /products/bulk-update","href":"/bulk-update-products"},{"title":"Bulk Delete Products","api":"DELETE /products/bulk-delete","description":"Delete multiple products at once from your catalog","href":"/bulk-delete-products"},{"title":"Get Product","api":"GET /products/{id}","href":"/get-imported-product"}]},{"group":"Campaigns API","pages":[{"title":"List Deliverability Status","api":"POST /campaigns/deliverability-status","href":"/list-deliverability-status"},{"title":"Get Deliverability Status","api":"GET /campaigns/{id}/deliverability-status","href":"/get-deliverability-status"}]},{"group":"Analytics API","pages":[{"title":"List Campaigns (Analytics)","api":"GET /analytics/campaigns","href":"/list-campaigns-analytics"},{"title":"Get Campaign (Analytics)","api":"GET /analytics/campaigns/{campaignId}","href":"/get-campaign-analytics"},{"title":"List Campaign Orders","api":"GET /analytics/campaigns/{campaignId}/orders","href":"/list-campaign-orders"},{"title":"List Orders (Analytics)","api":"GET /analytics/orders","href":"/list-orders-analytics"}]}]},"basePath":"","title":"Bulk Update Products - TextYess docs","buildId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","deploymentId":"dpl_5tKr6cUUeuVJdEZ9JAEY3h4soMJ8","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DbeN8Wo6.js","utils-CwSb5Doc.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BmREeM3N.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-AYjWerCj.js","snippetPresets-QD4ULQlp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-Digj5cjF.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CiHrzluR.js","shallow-D7h7pFGg.js","getApiPlaygroundDisplay-mlxkpAUf.js","CodeSnippet-D2rH5lZI.js","CodeSnippets-B53ulOaL.js","Page-CqcDm2To.js","getPastedJson-DxGeNMih.js","icon-BHbyrebp.js","MethodPill-C7F_KEEJ.js","DuplicateIcon-j3c5-73z.js","createIcon-OvCnyFqD.js","DynamicMarkdown-DpAS3GCb.js","SectionHeading-DMPpdrvW.js","axios-vUo_bRtp.js"]}