Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product’s ingredients cannot silently flip its eligibility. Passing categories replaces the product’s existing categories, and passing component_items replaces its components (an empty array removes them all). A product.updated event is sent to your configured webhook endpoints on success.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Flex Documentation","colors":{"primary":"#0070FA","light":"#BAB3FF","dark":"#0B0077"},"logo":{"light":"https://mintcdn.com/flex-87/1kILreF5HcjIKLdi/logo/light.svg?fit=max\u0026auto=format\u0026n=1kILreF5HcjIKLdi\u0026q=85\u0026s=f703a75bc80df014f4849a7225b4879f","dark":"https://mintcdn.com/flex-87/1kILreF5HcjIKLdi/logo/dark.svg?fit=max\u0026auto=format\u0026n=1kILreF5HcjIKLdi\u0026q=85\u0026s=1aabf14d790c002d1740276fdbced9ab"},"favicon":"https://mintcdn.com/flex-87/liG_HQMgKKwndFp8/favicon.svg?fit=max\u0026auto=format\u0026n=liG_HQMgKKwndFp8\u0026q=85\u0026s=82a2993b4fffbf19268067f48e898bed","navbar":{"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.withflex.com/"}},"footer":{"socials":{"github":"https://github.com/JoinFlexHealth","linkedin":"https://www.linkedin.com/company/withflex","x":"https://x.com/paywithflex","instagram":"https://www.instagram.com/paywithflex"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":true},"navigation":{"global":{"anchors":[{"anchor":"Status","icon":"wifi","href":"https://statuspage.incident.io/with-flex"},{"anchor":"Support","icon":"mail","href":"mailto:support@withflex.com"},{"anchor":"Website","icon":"laptop","href":"https://www.withflex.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"flex-87","hasAudioNarration":false,"actualSubdomain":"flex-87","customDomains":["docs.withflex.com"],"gitSource":{"type":"github","owner":"joinflexhealth","repo":"flex","deployBranch":"main","contentDirectory":"flex-docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae374b5b3f002741c1ab41f","collectionId":"02d9944d-fd1b-4f89-a595-9c3890413440","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae374b5b3f002741c1ab41f"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3cfd39c57ecccbea1d926","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":188},{"language":"default","tag":"Guides","count":51},{"language":"default","tag":"Integration","count":29},{"language":"default","tag":"Marketing","count":21},{"language":"default","tag":"Checkout Sessions","count":13},{"language":"default","tag":"Subscriptions","count":12},{"language":"default","tag":"Products","count":9},{"language":"default","tag":"Disputes","count":8},{"language":"default","tag":"Shopify","count":7},{"language":"default","tag":"Overview","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#topbar-cta-button span.bg-primary-dark{background-color:#0b0077!important}html.dark #topbar-cta-button span.bg-primary-dark{background-color:#bab3ff1a!important;border-color:#bab3ff;border-width:1px}.content img,[data-content] img,article img,main img{border:1px solid #e8eaed!important}.content img.rounded,[data-content] img.rounded,article img.rounded,main img.rounded{border:.5px solid #e8eaed!important}.brand-logo-grid img,.doc-screenshot img,.nav-logo,img.nav-logo,img.no-border{border:0!important}.dark .nav-anchor:hover .mr-4.rounded-md.p-1.shadow-sm,.nav-anchor:hover .mr-4.rounded-md.p-1.shadow-sm{--tw-ring-opacity:1!important;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important;filter:none!important}.nav-anchor:hover .mr-4.rounded-md.p-1.shadow-sm{background:rgba(17,24,39,.05)!important;background-color:rgba(17,24,39,.05)!important;color:#1f2937!important}.dark .nav-anchor:hover .mr-4.rounded-md.p-1.shadow-sm{background:rgba(229,231,235,.05)!important;background-color:rgba(229,231,235,.05)!important;color:#d1d5db!important}.group:hover .group-hover\\:ring-0{--tw-ring-opacity:1!important;--tw-ring-color:rgba(17, 24, 39, 0.05)!important}.dark .group:hover .group-hover\\:ring-0{--tw-ring-opacity:1!important;--tw-ring-color:rgba(55, 65, 81, 0.4)!important}.nav-anchor:hover .secondary-opacity.group-hover\\:fill-primary-dark.group-hover\\:bg-white{background-color:currentColor!important;fill:none!important}.nav-anchor:hover .secondary-opacity{background-color:#1f2937!important}.dark .nav-anchor:hover .secondary-opacity{background-color:#d1d5db!important}.nav-anchor .mr-4.rounded-md.p-1.shadow-sm[style*=background]{background:inherit!important;background-color:inherit!important}.nav-anchor:hover .mr-4.rounded-md.p-1.shadow-sm[style*=background]{background:rgba(17,24,39,.05)!important;background-color:rgba(17,24,39,.05)!important}.dark .nav-anchor:hover .mr-4.rounded-md.p-1.shadow-sm[style*=background]{background:rgba(229,231,235,.05)!important;background-color:rgba(229,231,235,.05)!important}.nav-anchor:hover .h-4.w-4.secondary-opacity{background-color:currentColor!important}.inline-flex.items-center.gap-1\\.5.text-sm.text-gray-500 a{color:#0070fa!important}.inline-flex.items-center.gap-1\\.5.text-sm.text-gray-500 a:hover{color:#0b0077!important}html.dark .inline-flex.items-center.gap-1\\.5.text-sm a{color:#bab3ff!important}html.dark .inline-flex.items-center.gap-1\\.5.text-sm a:hover{color:#fff!important}.lucide.lucide-chevron-right{stroke:#0070fa!important}html.dark .lucide.lucide-chevron-right{stroke:#bab3ff!important}"}],"page":{"pagePath":"api-reference/products/update-product","slug":"/api-reference/products/update-product","pageMetadata":{"title":"Update Product","description":"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product's ingredients cannot silently flip its eligibility. Passing `categories` replaces the product's existing categories, and passing `component_items` replaces its components (an empty array removes them all). A `product.updated` event is sent to your configured webhook endpoints on success.","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/products/{id}","href":"/api-reference/products/update-product","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product’s ingredients cannot silently flip its eligibility. Passing \", _jsx(_components.code, {\n children: \"categories\"\n }), \" replaces the product’s existing categories, and passing \", _jsx(_components.code, {\n children: \"component_items\"\n }), \" replaces its components (an empty array removes them all). A \", _jsx(_components.code, {\n children: \"product.updated\"\n }), \" event is sent to your configured webhook endpoints on success.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update Product","description":"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product's ingredients cannot silently flip its eligibility. Passing `categories` replaces the product's existing categories, and passing `component_items` replaces its components (an empty array removes them all). A `product.updated` event is sent to your configured webhook endpoints on success.","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/products/{id}","href":"/api-reference/products/update-product","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/flex-87/f0156321fafa1974/postcss.config.js"],"openApiReferenceData":{"operation":{"tags":["Products"],"summary":"Update Product","description":"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product's ingredients cannot silently flip its eligibility. Passing `categories` replaces the product's existing categories, and passing `component_items` replaces its components (an empty array removes them all). A `product.updated` event is sent to your configured webhook endpoints on success.","operationId":"v1.products.update","parameters":["610d0982-acff-4d12-861c-c90a2ed773b2"],"requestBody":"8a835192-568b-4a1c-90ca-2cd57664c00b","responses":{"200":"04d2922b-c1be-4f2d-8dcf-0ff421f608e3","401":"1f77a7cd-5629-4cab-aa0b-2a907c017576","403":"58470dfa-995b-43fb-9e4c-71856a5f63fa","404":"e5b52338-7ea0-4eba-a92f-c3f8d58bbece","409":"bd8f10c4-6b81-4410-aa8d-fe7f73c50c64","422":"c2d87fb6-2def-4cbc-b04b-4c0a38442e87","429":"dbe93900-d12b-4dc2-9be0-5b55db81bec2"},"security":["c5a1f9e7-c5e0-4ad8-8978-8cd212b47893"],"method":"patch","type":"path","servers":["080577c1-39a5-4498-bb49-d7daab803f21"],"path":"/v1/products/{id}","baseUrlOptions":["https://api.withflex.com"],"title":"Update Product","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"610d0982-acff-4d12-861c-c90a2ed773b2":{"in":"path","name":"id","required":true,"schema":{"examples":["fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA"],"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"},"style":"simple","example":"fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}},"requestBody":{"description":"An envelope wrapping a single product object.","content":{"application/json":{"schema":{"description":"An envelope wrapping a single product object.","type":"object","required":["product"],"properties":{"product":{"description":"The product object.","type":"object","properties":{"name":{"oneOf":[{"description":"The product's name, meant to be displayed to the customer.","type":"string","example":"Example","uniqueKey":"product.name.oneOf.0","typeLabel":"string"},{"description":"The product's name, meant to be displayed to the customer.","type":"null","example":"Example","uniqueKey":"product.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.name","typeLabel":"string | null"},"description":{"oneOf":[{"description":"The product's description, a short blurb meant to be displayed to the customer.","type":"string","example":"Premium SPF 50 mineral sunscreen","uniqueKey":"product.description.oneOf.0","typeLabel":"string"},{"description":"The product's description, a short blurb meant to be displayed to the customer.","type":"null","example":"Premium SPF 50 mineral sunscreen","uniqueKey":"product.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.description","typeLabel":"string | null"},"upc_code":{"oneOf":[{"description":"The product's UPC code. If provided, this will be used to check whether the product is on the eligible product list.","type":"string","example":"example_value","uniqueKey":"product.upc_code.oneOf.0","typeLabel":"string"},{"description":"The product's UPC code. If provided, this will be used to check whether the product is on the eligible product list.","type":"null","example":"example_value","uniqueKey":"product.upc_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.upc_code","typeLabel":"string | null"},"gtin":{"oneOf":[{"description":"The product's GTIN. If provided, this will be used to check whether the product is on the eligible product list.","type":"string","example":"example_value","uniqueKey":"product.gtin.oneOf.0","typeLabel":"string"},{"description":"The product's GTIN. If provided, this will be used to check whether the product is on the eligible product list.","type":"null","example":"example_value","uniqueKey":"product.gtin.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.gtin","typeLabel":"string | null"},"reference_gtin":{"oneOf":[{"description":"If the product is HSA/FSA eligible through private label, this should be provided.","type":"string","example":"example_value","uniqueKey":"product.reference_gtin.oneOf.0","typeLabel":"string"},{"description":"If the product is HSA/FSA eligible through private label, this should be provided.","type":"null","example":"example_value","uniqueKey":"product.reference_gtin.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.reference_gtin","typeLabel":"string | null"},"url":{"oneOf":[{"description":"A URL of a publicly-accessible image of the product.","type":"string","example":"https://example.com","uniqueKey":"product.url.oneOf.0","typeLabel":"string"},{"description":"A URL of a publicly-accessible image of the product.","type":"null","example":"https://example.com","uniqueKey":"product.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.url","typeLabel":"string | null"},"active":{"oneOf":[{"description":"Whether the product can be used for new purchases. Set to `false` to archive the product.","type":"boolean","example":false,"uniqueKey":"product.active.oneOf.0","typeLabel":"boolean"},{"description":"Whether the product can be used for new purchases. Set to `false` to archive the product.","type":"null","example":false,"uniqueKey":"product.active.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.active","typeLabel":"boolean | null"},"metadata":{"oneOf":[{"description":"Set of key-value pairs that you can attach to a product. This can be useful for storing additional information about the product in a structured format.","type":"object","additionalProperties":{"type":"string","uniqueKey":"product.metadata.oneOf.0.additionalProperties","typeLabel":"string"},"example":{"order_id":"8842","channel":"shopify"},"uniqueKey":"product.metadata.oneOf.0","typeLabel":"object"},{"description":"Set of key-value pairs that you can attach to a product. This can be useful for storing additional information about the product in a structured format.","type":"null","additionalProperties":{"type":"string","uniqueKey":"product.metadata.oneOf.1.additionalProperties","typeLabel":"string"},"example":{"order_id":"8842","channel":"shopify"},"uniqueKey":"product.metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.metadata","typeLabel":"object | null"},"categories":{"oneOf":[{"description":"Product categories (e.g., \"Vitamins\", \"First Aid\"). If provided, replaces all existing categories. Pass an empty array `[]` to remove all categories. Omit this field to preserve existing categories.","type":"array","items":{"type":"string","uniqueKey":"product.categories.oneOf.0.items.[INDEX]","typeLabel":"string"},"uniqueKey":"product.categories.oneOf.0","typeLabel":"string[]"},{"description":"Product categories (e.g., \"Vitamins\", \"First Aid\"). If provided, replaces all existing categories. Pass an empty array `[]` to remove all categories. Omit this field to preserve existing categories.","type":"null","items":{"type":"string"},"uniqueKey":"product.categories.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.categories","typeLabel":"string[] | null"},"component_items":{"oneOf":[{"description":"The components (ingredients) this product is made of, as `fcomp_` ids from `/v1/product_components`.\n\nIf provided, **replaces** the product's entire component list: an id you omit is detached. Pass an empty array `[]` to detach them all, and omit the field to leave the list alone.\n\nThis is the only way to change a product's components after it exists — `components` on product-create takes names and is create-only.","type":"array","items":{"description":"One component attached to a product.\n\nAn id and nothing else. There is deliberately **no quantity**: how much of an ingredient a particular order contains is per-order data and arrives on the checkout line item, not on the product. A product's component list answers \"which ingredients\", and that is all it answers.","type":"object","required":["component_id"],"properties":{"component_id":{"description":"The component's `fcomp_` identifier, from `/v1/product_components`. The component must be one of yours or one of Flex's shared components.","type":"string","example":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA","isRequired":true,"uniqueKey":"product.component_items.oneOf.0.items.[INDEX].component_id","typeLabel":"string"}},"example":{"component_id":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"},"uniqueKey":"product.component_items.oneOf.0.items.[INDEX]","typeLabel":"object"},"uniqueKey":"product.component_items.oneOf.0","typeLabel":"object[]"},{"description":"The components (ingredients) this product is made of, as `fcomp_` ids from `/v1/product_components`.\n\nIf provided, **replaces** the product's entire component list: an id you omit is detached. Pass an empty array `[]` to detach them all, and omit the field to leave the list alone.\n\nThis is the only way to change a product's components after it exists — `components` on product-create takes names and is create-only.","type":"null","items":{"description":"One component attached to a product.\n\nAn id and nothing else. There is deliberately **no quantity**: how much of an ingredient a particular order contains is per-order data and arrives on the checkout line item, not on the product. A product's component list answers \"which ingredients\", and that is all it answers.","type":"object","required":["component_id"],"properties":{"component_id":{"description":"The component's `fcomp_` identifier, from `/v1/product_components`. The component must be one of yours or one of Flex's shared components.","type":"string","example":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}},"example":{"component_id":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}},"uniqueKey":"product.component_items.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.component_items","typeLabel":"object[] | null"}},"example":{"name":"Example","description":"Premium SPF 50 mineral sunscreen","upc_code":"example_value","gtin":"example_value","reference_gtin":"example_value","url":"https://example.com","active":false,"metadata":{"order_id":"8842","channel":"shopify"},"categories":["string"],"component_items":[{"component_id":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}]},"isRequired":true,"uniqueKey":"product","typeLabel":"object"}},"example":{"product":{"name":"Example","description":"Premium SPF 50 mineral sunscreen","upc_code":"example_value","gtin":"example_value","reference_gtin":"example_value","url":"https://example.com","active":false,"metadata":{"order_id":"8842","channel":"shopify"},"categories":["string"],"component_items":[{"component_id":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}]}},"uniqueKey":"","typeLabel":"object"},"example":{"product":{"name":"Example","description":"Premium SPF 50 mineral sunscreen","upc_code":"example_value","gtin":"example_value","reference_gtin":"example_value","url":"https://example.com","active":false,"metadata":{"order_id":"8842","channel":"shopify"},"categories":["string"],"component_items":[{"component_id":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}]}},"examples":{"Example":{"title":"Example","value":{"product":{"name":"Example","description":"Premium SPF 50 mineral sunscreen","upc_code":"example_value","gtin":"example_value","reference_gtin":"example_value","url":"https://example.com","active":false,"metadata":{"order_id":"8842","channel":"shopify"},"categories":["string"],"component_items":[{"component_id":"fcomp_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}]}}}},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"04d2922b-c1be-4f2d-8dcf-0ff421f608e3":{"description":"An envelope wrapping a single product object.","content":{"application/json":{"schema":{"description":"An envelope wrapping a single product object.","type":"object","required":["product"],"properties":{"product":{"description":"The product object.","type":"object","required":["active","created_at","hsa_fsa_eligibility","name","product_id","test_mode"],"properties":{"product_id":{"description":"The unique identifier for the product.","type":"string","example":"fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA","isRequired":true,"uniqueKey":"product.product_id","typeLabel":"string"},"name":{"description":"The name of the product.","type":"string","example":"Example","isRequired":true,"uniqueKey":"product.name","typeLabel":"string"},"created_at":{"description":"The date the product was created.","type":"string","example":"2026-06-15T14:30:00Z","isRequired":true,"uniqueKey":"product.created_at","typeLabel":"string"},"active":{"description":"Determines if the product is active or not.","type":"boolean","example":false,"isRequired":true,"uniqueKey":"product.active","typeLabel":"boolean"},"hsa_fsa_eligibility":{"description":"The elegibility of the product for HSA/FSA.","type":"string","enum":["not_eligible","auto_substantiation","private_label","letter_of_medical_necessity","prescription","vision","service","pending"],"example":"not_eligible","isRequired":true,"uniqueKey":"product.hsa_fsa_eligibility","typeLabel":"enum\u003cstring>"},"test_mode":{"description":"Whether the product is in test mode or not.","type":"boolean","example":false,"isRequired":true,"uniqueKey":"product.test_mode","typeLabel":"boolean"},"owner_partner_id":{"oneOf":[{"description":"The ID of the account that owns this product. For products shared across an organization this may be a sibling account; otherwise it is your own account ID.","type":"string","example":"facct_01J9XR8M3K7VZ8N2YB4WJ6T0RA","uniqueKey":"product.owner_partner_id.oneOf.0","typeLabel":"string"},{"description":"The ID of the account that owns this product. For products shared across an organization this may be a sibling account; otherwise it is your own account ID.","type":"null","example":"facct_01J9XR8M3K7VZ8N2YB4WJ6T0RA","uniqueKey":"product.owner_partner_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.owner_partner_id","typeLabel":"string | null"},"description":{"oneOf":[{"description":"The description of the product.","type":"string","example":"Premium SPF 50 mineral sunscreen","uniqueKey":"product.description.oneOf.0","typeLabel":"string"},{"description":"The description of the product.","type":"null","example":"Premium SPF 50 mineral sunscreen","uniqueKey":"product.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.description","typeLabel":"string | null"},"document_description":{"oneOf":[{"description":"Medical-grade description optimized for use in Letters of Medical Necessity and receipts.","deprecated":true,"type":"string","uniqueKey":"product.document_description.oneOf.0","typeLabel":"string"},{"description":"Medical-grade description optimized for use in Letters of Medical Necessity and receipts.","deprecated":true,"type":"null","uniqueKey":"product.document_description.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.document_description","typeLabel":"string | null"},"receipt_description":{"oneOf":[{"description":"Shortened description tailored to receipt line items","type":"string","uniqueKey":"product.receipt_description.oneOf.0","typeLabel":"string"},{"description":"Shortened description tailored to receipt line items","type":"null","uniqueKey":"product.receipt_description.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.receipt_description","typeLabel":"string | null"},"visit_type":{"oneOf":[{"type":"string","description":"The visit type of the product if a letter of medical necessity is required.","enum":["cbtSleep","notApplicable","metabolomics","tinnitus","gym","exerciseDiet","orthopedic","alcohol","airPurification","vaginalHealth","menstrual","canopy","alopecia","genate","weightBlanket","bedJet","siderAl","sunwinkPowder","wavWatch","bodyComplete","ageRate","nitrousOxide","happyV","groupChat","icalmAnxiety","redBloom","foodom","branchErgonomicFurniture","curalife","eloraInfantWellness","nutriHealth","olipop","goldIntimate","touchStoneEssentials","utiva","sleepGeekz","figBrew","auBabyBlanket","babySleepSack","oshWellness","currentBodyRedLight","mito","circularRing","lymaRedLight","goodAirRx","tastermonial","karunaHome","ergoStandingChair","jbaGlucoseControl","bloomNutrition","buoyDrops","luxeWonderWig","saunaMarketplace","amrioreEyewear","pivotOrthoShoe","lumenCynergy","roga","pulsetto","mitoRedLight","gutPersonal","goFlaus","myHixel","calmigo","dotFit","stripesBeauty","mixHers","pmd","positivityWithPurpose","techRing","popVeneers","vertaClean","lumen","medicalMeal","emnHealth","detergentAllergy","lowImpactExercise","mediumImpactExercise","highImpactExercise","gardening","babyCarrier","smartGlasses","automatedCleaner","uvClothing","adaptiveShoes","breathWork","nonenalOdor","meneralsNootropicPouch","babyMonitorSplit","babySleepApp","coolingSleepwear","bodyPillow","uvGlasses","nursingChairs","coolingBed","posture","supplements","sleep","redLightTherapy","fitness","smartRing","womensVaginalHealth","fertilitySupport","femaleReproduction","femaleReproductionFood","pregnancyLiterature","iceBath","orthopedicShoes","sexualHealth","glucose","metabolicTest","skinCare","oralHealth","oralAnxiety","blueLightGlasses","anxiety","brainHealth","babyMonitor","compressionSocks","compressionShorts","waterPurification","medSpa","essentialOils","sleepBuds","latchLight","nutritionist","rairflow","enduranceTraining","hydration","hairGrowth","eD","postureFitness","childDevelopment","adaptiveClothing","sleepConsulting","hairRemoval","menopause","maleFertility","anxietyHealth","bidets","speechHealth","artOfLiving","breastMilk","petSupport","diapers","gutSupplements","smartWatch","medicalBotox","biomechanicalAssessment","erectileReset","femaleOrgasm","pornAddiction","memorySupport","oralHealthMasticGum","orthopedicSandals","childDevelopmentAnxietySleep","childDevelopmentAdjustment","childDevelopmentBehavior","childDevelopmentIdentity","emnHealthMobility","adaptiveShoesDependent","speechHealthDependent","breathWorkDependent"],"example":"cbtSleep","uniqueKey":"product.visit_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"The visit type of the product if a letter of medical necessity is required.","uniqueKey":"product.visit_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.visit_type","typeLabel":"enum\u003cstring> | null"},"upc_code":{"oneOf":[{"description":"The upc code of the product.","type":"string","uniqueKey":"product.upc_code.oneOf.0","typeLabel":"string"},{"description":"The upc code of the product.","type":"null","uniqueKey":"product.upc_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.upc_code","typeLabel":"string | null"},"gtin":{"oneOf":[{"description":"The gtin code of the product.","type":"string","uniqueKey":"product.gtin.oneOf.0","typeLabel":"string"},{"description":"The gtin code of the product.","type":"null","uniqueKey":"product.gtin.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.gtin","typeLabel":"string | null"},"reference_gtin":{"oneOf":[{"description":"The GTIN of a private-label reference product, used to establish HSA/FSA eligibility.","type":"string","uniqueKey":"product.reference_gtin.oneOf.0","typeLabel":"string"},{"description":"The GTIN of a private-label reference product, used to establish HSA/FSA eligibility.","type":"null","uniqueKey":"product.reference_gtin.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.reference_gtin","typeLabel":"string | null"},"metadata":{"oneOf":[{"description":"Metadata associated with the product.","type":"object","additionalProperties":{"type":"string","uniqueKey":"product.metadata.oneOf.0.additionalProperties","typeLabel":"string"},"example":{"order_id":"8842","channel":"shopify"},"uniqueKey":"product.metadata.oneOf.0","typeLabel":"object"},{"description":"Metadata associated with the product.","type":"null","additionalProperties":{"type":"string","uniqueKey":"product.metadata.oneOf.1.additionalProperties","typeLabel":"string"},"example":{"order_id":"8842","channel":"shopify"},"uniqueKey":"product.metadata.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.metadata","typeLabel":"object | null"},"url":{"oneOf":[{"description":"The URL of the product.","type":"string","example":"https://example.com","uniqueKey":"product.url.oneOf.0","typeLabel":"string"},{"description":"The URL of the product.","type":"null","example":"https://example.com","uniqueKey":"product.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.url","typeLabel":"string | null"},"client_reference_id":{"oneOf":[{"description":"An optional identifier for the product set by the client at creation time. Immutable after creation.","type":"string","example":"obj_01J9XR8M3K7VZ8N2YB4WJ6T0RA","uniqueKey":"product.client_reference_id.oneOf.0","typeLabel":"string"},{"description":"An optional identifier for the product set by the client at creation time. Immutable after creation.","type":"null","example":"obj_01J9XR8M3K7VZ8N2YB4WJ6T0RA","uniqueKey":"product.client_reference_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"product.client_reference_id","typeLabel":"string | null"}},"example":{"product_id":"fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA","owner_partner_id":"facct_01J9XR8M3K7VZ8N2YB4WJ6T0RA","name":"Example","description":"Premium SPF 50 mineral sunscreen","document_description":"string","receipt_description":"string","created_at":"2026-06-15T14:30:00Z","visit_type":"cbtSleep","active":false,"upc_code":"string","gtin":"string","reference_gtin":"string","hsa_fsa_eligibility":"not_eligible","test_mode":false,"metadata":{"order_id":"8842","channel":"shopify"},"url":"https://example.com","client_reference_id":"obj_01J9XR8M3K7VZ8N2YB4WJ6T0RA"},"isRequired":true,"uniqueKey":"product","typeLabel":"object"}},"example":{"product":{"product_id":"fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA","owner_partner_id":"facct_01J9XR8M3K7VZ8N2YB4WJ6T0RA","name":"Example","description":"Premium SPF 50 mineral sunscreen","document_description":"string","receipt_description":"string","created_at":"2026-06-15T14:30:00Z","visit_type":"cbtSleep","active":false,"upc_code":"string","gtin":"string","reference_gtin":"string","hsa_fsa_eligibility":"not_eligible","test_mode":false,"metadata":{"order_id":"8842","channel":"shopify"},"url":"https://example.com","client_reference_id":"obj_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}},"uniqueKey":"","typeLabel":"object"},"example":{"product":{"product_id":"fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA","owner_partner_id":"facct_01J9XR8M3K7VZ8N2YB4WJ6T0RA","name":"Example","description":"Premium SPF 50 mineral sunscreen","document_description":"string","receipt_description":"string","created_at":"2026-06-15T14:30:00Z","visit_type":"cbtSleep","active":false,"upc_code":"string","gtin":"string","reference_gtin":"string","hsa_fsa_eligibility":"not_eligible","test_mode":false,"metadata":{"order_id":"8842","channel":"shopify"},"url":"https://example.com","client_reference_id":"obj_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}},"examples":{"Example":{"title":"Example","value":{"product":{"product_id":"fprod_01J9XR8M3K7VZ8N2YB4WJ6T0RA","owner_partner_id":"facct_01J9XR8M3K7VZ8N2YB4WJ6T0RA","name":"Example","description":"Premium SPF 50 mineral sunscreen","document_description":"string","receipt_description":"string","created_at":"2026-06-15T14:30:00Z","visit_type":"cbtSleep","active":false,"upc_code":"string","gtin":"string","reference_gtin":"string","hsa_fsa_eligibility":"not_eligible","test_mode":false,"metadata":{"order_id":"8842","channel":"shopify"},"url":"https://example.com","client_reference_id":"obj_01J9XR8M3K7VZ8N2YB4WJ6T0RA"}}}},"exampleType":"examples"}},"exampleType":"examples"},"1f77a7cd-5629-4cab-aa0b-2a907c017576":{"description":"Unauthorized","content":{"application/json":{"schema":{"title":"HttpError","description":"The error response returned when a request cannot be completed.","type":"object","required":["code","detail"],"properties":{"code":{"description":"A short machine-readable error code identifying the type of error.","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"A human-readable explanation of what went wrong.","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"example":{"code":"string","detail":"string"},"uniqueKey":"","typeLabel":"HttpError · object"},"example":{"code":"string","detail":"string"},"examples":{"Example":{"title":"Example","value":{"code":"string","detail":"string"}}},"exampleType":"examples"}},"exampleType":"examples"},"58470dfa-995b-43fb-9e4c-71856a5f63fa":{"description":"Forbidden","content":{"application/json":{"schema":{"title":"HttpError","description":"The error response returned when a request cannot be completed.","type":"object","required":["code","detail"],"properties":{"code":{"description":"A short machine-readable error code identifying the type of error.","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"A human-readable explanation of what went wrong.","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"example":{"code":"string","detail":"string"},"uniqueKey":"","typeLabel":"HttpError · object"},"example":{"code":"string","detail":"string"},"examples":{"Example":{"title":"Example","value":{"code":"string","detail":"string"}}},"exampleType":"examples"}},"exampleType":"examples"},"e5b52338-7ea0-4eba-a92f-c3f8d58bbece":{"description":"Not Found","content":{"application/json":{"schema":{"title":"HttpError","description":"The error response returned when a request cannot be completed.","type":"object","required":["code","detail"],"properties":{"code":{"description":"A short machine-readable error code identifying the type of error.","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"A human-readable explanation of what went wrong.","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"example":{"code":"string","detail":"string"},"uniqueKey":"","typeLabel":"HttpError · object"},"example":{"code":"string","detail":"string"},"examples":{"Example":{"title":"Example","value":{"code":"string","detail":"string"}}},"exampleType":"examples"}},"exampleType":"examples"},"bd8f10c4-6b81-4410-aa8d-fe7f73c50c64":{"description":"Conflict","content":{"application/json":{"schema":{"title":"HttpError","description":"The error response returned when a request cannot be completed.","type":"object","required":["code","detail"],"properties":{"code":{"description":"A short machine-readable error code identifying the type of error.","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"A human-readable explanation of what went wrong.","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"example":{"code":"string","detail":"string"},"uniqueKey":"","typeLabel":"HttpError · object"},"example":{"code":"string","detail":"string"},"examples":{"Example":{"title":"Example","value":{"code":"string","detail":"string"}}},"exampleType":"examples"}},"exampleType":"examples"},"c2d87fb6-2def-4cbc-b04b-4c0a38442e87":{"description":"Validation Error","content":{"application/json":{"schema":{"description":"The error response returned when request validation fails (HTTP 422).","type":"object","required":["detail"],"properties":{"detail":{"description":"The list of validation errors, one entry per invalid field.","type":"array","items":{"description":"Validation errors have their own schema to provide context for invalid requests eg. mismatched types and out of bounds values. There may be any number of these per 422 UNPROCESSABLE ENTITY error.","type":"object","required":["loc","msg","type"],"properties":{"loc":{"description":"The location as a [`Vec`] of [`String`]s -- often in the form `[\"body\", \"field_name\"]`, `[\"query\", \"field_name\"]`, etc. They may, however, be arbitarily deep.","type":"array","items":{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"string[]"},"msg":{"description":"The message accompanying the validation error item.","type":"string","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"description":"The type of error, often \"type_error\" or \"value_error\", but sometimes with more context like as \"value_error.number.not_ge\"","type":"string","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"example":{"loc":["string"],"msg":"string","type":"string"},"uniqueKey":"detail.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"detail","typeLabel":"object[]"}},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string"}]},"uniqueKey":"","typeLabel":"object"},"example":{"detail":[{"loc":["string"],"msg":"string","type":"string"}]},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["string"],"msg":"string","type":"string"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"dbe93900-d12b-4dc2-9be0-5b55db81bec2":{"description":"Too Many Requests","content":{"application/json":{"schema":{"title":"HttpError","description":"The error response returned when a request cannot be completed.","type":"object","required":["code","detail"],"properties":{"code":{"description":"A short machine-readable error code identifying the type of error.","type":"string","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"detail":{"description":"A human-readable explanation of what went wrong.","type":"string","isRequired":true,"uniqueKey":"detail","typeLabel":"string"}},"example":{"code":"string","detail":"string"},"uniqueKey":"","typeLabel":"HttpError · object"},"example":{"code":"string","detail":"string"},"examples":{"Example":{"title":"Example","value":{"code":"string","detail":"string"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"c5a1f9e7-c5e0-4ad8-8978-8cd212b47893":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"Use a Bearer token to access this API.","scopes":["products:write"],"schemeName":"BearerAuth"}}},"servers":{"080577c1-39a5-4498-bb49-d7daab803f21":{"url":"https://api.withflex.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"Use a Bearer token to access this API.","scopes":["products:write"],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Use a Bearer token to access this API.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"flex-87","siteName":"Flex Documentation","title":"Update Product - Flex Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T22:54:20.501Z","originalFileLocation":"api-reference/products/update-product.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=\"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product\u0026#x27;s ingredients cannot silently flip its eligibility. Passing categories replaces the product\u0026#x27;s existing categories, and passing component_items replaces its components (an empty array removes them all). A product.updated event is sent to your configured webhook endpoints on success.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Flex Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_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/flex-87/uZDAr5goax7LGN2W/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Product - Flex Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product\u0026#x27;s ingredients cannot silently flip its eligibility. Passing categories replaces the product\u0026#x27;s existing categories, and passing component_items replaces its components (an empty array removes them all). A product.updated event is sent to your configured webhook endpoints on success.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Flex Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.withflex.com/api-reference/products/update-product\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://flex-87.mintlify.app/_mintlify/api/og/v2?division=Products\u0026amp;title=Update+Product\u0026amp;description=Updates+the+specified+product+by+setting+the+values+of+the+parameters+passed.+Any+parameters+not+provided+will+be+left+unchanged.+Updates+never+re-run+HSA%2FFSA+e\u0026amp;theme=166c4e73f0167deeef40f76e\u0026amp;signature=da90761f512f8ea8ec1f80d781e076033905173534e86b6fa2f2f374af640048\">\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=\"Update Product - Flex Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product\u0026#x27;s ingredients cannot silently flip its eligibility. Passing categories replaces the product\u0026#x27;s existing categories, and passing component_items replaces its components (an empty array removes them all). A product.updated event is sent to your configured webhook endpoints on success.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://flex-87.mintlify.app/_mintlify/api/og/v2?division=Products\u0026amp;title=Update+Product\u0026amp;description=Updates+the+specified+product+by+setting+the+values+of+the+parameters+passed.+Any+parameters+not+provided+will+be+left+unchanged.+Updates+never+re-run+HSA%2FFSA+e\u0026amp;theme=166c4e73f0167deeef40f76e\u0026amp;signature=da90761f512f8ea8ec1f80d781e076033905173534e86b6fa2f2f374af640048\">\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/flex-87/uZDAr5goax7LGN2W/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Flex Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0070FA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.withflex.com/api-reference/products/update-product\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/products/update-product.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.withflex.com/#organization\",\"name\":\"Flex Documentation\",\"url\":\"https://docs.withflex.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/flex-87/1kILreF5HcjIKLdi/logo/light.svg?fit=max\u0026auto=format\u0026n=1kILreF5HcjIKLdi\u0026q=85\u0026s=f703a75bc80df014f4849a7225b4879f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.withflex.com#website\",\"name\":\"Flex Documentation\",\"url\":\"https://docs.withflex.com\",\"publisher\":{\"@id\":\"https://docs.withflex.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.withflex.com/api-reference/products/update-product#webpage\",\"url\":\"https://docs.withflex.com/api-reference/products/update-product\",\"name\":\"Update Product\",\"description\":\"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product's ingredients cannot silently flip its eligibility. Passing categories replaces the product's existing categories, and passing component_items replaces its components (an empty array removes them all). A product.updated event is sent to your configured webhook endpoints on success.\",\"dateModified\":\"2026-10-28T22:54:20.501Z\",\"isPartOf\":{\"@id\":\"https://docs.withflex.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.withflex.com/api-reference/products/update-product#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.withflex.com/api-reference/products/update-product#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.withflex.com/api-reference/shipping-rates/list-shipping-rates\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Products\",\"item\":\"https://docs.withflex.com/api-reference/products/list-product-components\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update Product\",\"item\":\"https://docs.withflex.com/api-reference/products/update-product\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.withflex.com/api-reference/products/update-product#apireference\",\"headline\":\"Update Product\",\"name\":\"Update Product\",\"description\":\"Updates the specified product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Updates never re-run HSA/FSA eligibility determination — eligibility is set when the product is created and only changes through review, so correcting a product's ingredients cannot silently flip its eligibility. Passing categories replaces the product's existing categories, and passing component_items replaces its components (an empty array removes them all). A product.updated event is sent to your configured webhook endpoints on success.\",\"url\":\"https://docs.withflex.com/api-reference/products/update-product\",\"mainEntityOfPage\":{\"@id\":\"https://docs.withflex.com/api-reference/products/update-product#webpage\"},\"dateModified\":\"2026-10-28T22:54:20.501Z\",\"publisher\":{\"@id\":\"https://docs.withflex.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.withflex.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Flex Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Flex Documentation","nav":{"global":{"anchors":[{"anchor":"Status","icon":"wifi","href":"https://statuspage.incident.io/with-flex"},{"anchor":"Support","icon":"mail","href":"mailto:support@withflex.com"},{"anchor":"Website","icon":"laptop","href":"https://www.withflex.com"}]},"tabs":[{"tab":"Welcome","pages":[{"title":"Welcome","href":""}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/developer-guides/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Overview","pages":[{"title":"Introduction to the Flex API","sidebarTitle":"Introduction","href":"/api-reference/introduction"},{"title":"Expanding Resources","sidebarTitle":"Expanding Resources","href":"/api-reference/expanding-resources"}]},{"group":"API Reference","pages":[{"group":"Shipping Rates","pages":[{"title":"List Shipping Rates","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/shipping_rates","href":"/api-reference/shipping-rates/list-shipping-rates"},{"title":"Create Shipping Rate","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/shipping_rates","href":"/api-reference/shipping-rates/create-shipping-rate"},{"title":"Get Shipping Rate","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/shipping_rates/{id}","href":"/api-reference/shipping-rates/get-shipping-rate"},{"title":"Update Shipping Rate","deprecated":null,"version":null,"openapi":"/openapi.json put /v1/shipping_rates/{id}","href":"/api-reference/shipping-rates/update-shipping-rate"}]},{"group":"Disputes","pages":[{"title":"List Disputes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/disputes","href":"/api-reference/disputes/list-disputes"},{"title":"Count Disputes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/disputes/count","href":"/api-reference/disputes/count-disputes"},{"title":"Get Dispute","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/disputes/{dispute_id}","href":"/api-reference/disputes/get-dispute"},{"title":"Update Dispute","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/disputes/{dispute_id}","href":"/api-reference/disputes/update-dispute"},{"title":"Close Dispute","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/disputes/{dispute_id}/close","href":"/api-reference/disputes/close-dispute"}]},{"group":"Events","pages":[{"title":"Retry Event","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/events/{id}/retry","href":"/api-reference/events/retry-event"}]},{"group":"Checkout Sessions","pages":[{"title":"List Checkout Sessions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/checkout/sessions","href":"/api-reference/checkout-sessions/list-checkout-sessions"},{"title":"Create Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions","href":"/api-reference/checkout-sessions/create-checkout-session"},{"title":"Get Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/checkout/sessions/{id}","href":"/api-reference/checkout-sessions/get-checkout-session"},{"title":"Get Line Items","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/checkout/sessions/{id}/line_items","href":"/api-reference/checkout-sessions/get-line-items"},{"title":"Confirm Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/confirm","href":"/api-reference/checkout-sessions/confirm-checkout-session"},{"title":"Capture Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/capture","href":"/api-reference/checkout-sessions/capture-checkout-session"},{"title":"Preview Capture Allocation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/capture_allocation","href":"/api-reference/checkout-sessions/preview-capture-allocation"},{"title":"Reauth Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/reauth","href":"/api-reference/checkout-sessions/reauth-checkout-session"},{"title":"Refund Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/refund","href":"/api-reference/checkout-sessions/refund-checkout-session"},{"title":"Preview Refund Allocation","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/refund_allocation","href":"/api-reference/checkout-sessions/preview-refund-allocation"},{"title":"Cancel Auth Checkout Session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/cancel","href":"/api-reference/checkout-sessions/cancel-auth-checkout-session"},{"title":"Resend Checkout Session Receipts","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/receipts/resend","href":"/api-reference/checkout-sessions/resend-checkout-session-receipts"},{"title":"Resend Checkout Session Lomn","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/checkout/sessions/{id}/lomn/resend","href":"/api-reference/checkout-sessions/resend-checkout-session-lomn"}]},{"group":"Coupons","pages":[{"title":"List Coupons","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/coupons","href":"/api-reference/coupons/list-coupons"},{"title":"Create Coupon","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/coupons","href":"/api-reference/coupons/create-coupon"},{"title":"Get Coupon","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/coupons/{id}","href":"/api-reference/coupons/get-coupon"}]},{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/customers","href":"/api-reference/customers/list-customers"},{"title":"Create or update a customer","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/customers","href":"/api-reference/customers/create-or-update-a-customer"},{"title":"Retrieve a customer","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/customers/{id}","href":"/api-reference/customers/retrieve-a-customer"},{"title":"Delete a customer","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/customers/{id}","href":"/api-reference/customers/delete-a-customer"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/customers/{id}","href":"/api-reference/customers/update-a-customer"},{"title":"List a customer's payment methods","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/customers/{id}/payment_methods","href":"/api-reference/customers/list-a-customers-payment-methods"},{"title":"Retrieve a customer's payment method","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/customers/{id}/payment_methods/{pm_id}","href":"/api-reference/customers/retrieve-a-customers-payment-method"}]},{"group":"Exports","pages":[{"title":"List Exports","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/exports","href":"/api-reference/exports/list-exports"},{"title":"Create Export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/exports","href":"/api-reference/exports/create-export"},{"title":"Get Export","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/exports/{id}","href":"/api-reference/exports/get-export"},{"title":"Cancel Export","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/exports/{id}/cancel","href":"/api-reference/exports/cancel-export"},{"title":"Create Export Url","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/exports/{id}/presigned_url","href":"/api-reference/exports/create-export-url"}]},{"group":"Invoices","pages":[{"title":"List Invoices","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/invoices","href":"/api-reference/invoices/list-invoices"},{"title":"Get Invoice","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/invoices/{id}","href":"/api-reference/invoices/get-invoice"},{"title":"Mark Invoice Uncollectible","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/invoices/{id}/mark_uncollectible","href":"/api-reference/invoices/mark-invoice-uncollectible"}]},{"group":"Products","pages":[{"title":"List Product Components","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/product_components","href":"/api-reference/products/list-product-components"},{"title":"Create Product Component","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/product_components","href":"/api-reference/products/create-product-component"},{"title":"Get Product Component","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/product_components/{id}","href":"/api-reference/products/get-product-component"},{"title":"Update Product Component","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/product_components/{id}","href":"/api-reference/products/update-product-component"},{"title":"List Products","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/products","href":"/api-reference/products/list-products"},{"title":"Create Product","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/products","href":"/api-reference/products/create-product"},{"title":"Processing Status","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/products/processing_status","href":"/api-reference/products/processing-status"},{"title":"Get Product","description":"Retrieves a product by ID. Resolves your own products, and (if you belong to an organization) products owned by a sibling account.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/products/{id}","href":"/api-reference/products/get-product"},{"title":"Update Product","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/products/{id}","href":"/api-reference/products/update-product"}]},{"group":"Payment Intents","pages":[{"title":"List Payment Intents","description":"Returns a list of payment intents","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payment_intents","href":"/api-reference/payment-intents/list-payment-intents"},{"title":"Get Payment Intent","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payment_intents/{id}","href":"/api-reference/payment-intents/get-payment-intent"},{"title":"Send Receipt","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/payment_intents/{id}/receipt","href":"/api-reference/payment-intents/send-receipt"},{"title":"Cancel Payment Intent","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/payment_intents/{id}/cancel","href":"/api-reference/payment-intents/cancel-payment-intent"}]},{"group":"Payment Links","pages":[{"title":"List Payment Links","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payment_links","href":"/api-reference/payment-links/list-payment-links"},{"title":"Create Payment Link","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/payment_links","href":"/api-reference/payment-links/create-payment-link"},{"title":"Get Payment Link","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payment_links/{id}","href":"/api-reference/payment-links/get-payment-link"},{"title":"Update Payment Link","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/payment_links/{id}","href":"/api-reference/payment-links/update-payment-link"}]},{"group":"Payouts","pages":[{"title":"List Payouts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/payouts","href":"/api-reference/payouts/list-payouts"}]},{"group":"Prices","pages":[{"title":"List Prices","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/prices","href":"/api-reference/prices/list-prices"},{"title":"Create Price","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/prices","href":"/api-reference/prices/create-price"},{"title":"Get Price","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/prices/{id}","href":"/api-reference/prices/get-price"},{"title":"Update Price","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/prices/{id}","href":"/api-reference/prices/update-price"}]},{"group":"Promo Codes","pages":[{"title":"List Promo Codes","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/promo_codes","href":"/api-reference/promo-codes/list-promo-codes"},{"title":"Create Promo Code","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/promo_codes","href":"/api-reference/promo-codes/create-promo-code"},{"title":"Get Promo Code","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/promo_codes/{id}","href":"/api-reference/promo-codes/get-promo-code"},{"title":"Update Promo Code","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/promo_codes/{id}","href":"/api-reference/promo-codes/update-promo-code"}]},{"group":"Refunds","pages":[{"title":"List Refunds","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/refunds","href":"/api-reference/refunds/list-refunds"},{"title":"Create Refund","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/refunds","href":"/api-reference/refunds/create-refund"},{"title":"Get Refund","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/refunds/{refund_id}","href":"/api-reference/refunds/get-refund"},{"title":"Update Refund","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/refunds/{refund_id}","href":"/api-reference/refunds/update-refund"}]},{"group":"Reviews","pages":[{"title":"List Reviews","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reviews","href":"/api-reference/reviews/list-reviews"},{"title":"Get Review","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/reviews/{review_id}","href":"/api-reference/reviews/get-review"}]},{"group":"Subscriptions","pages":[{"title":"List Subscriptions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/subscriptions","href":"/api-reference/subscriptions/list-subscriptions"},{"title":"Get Subscription","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/subscriptions/{id}","href":"/api-reference/subscriptions/get-subscription"},{"title":"Cancel Subscription","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/subscriptions/{id}","href":"/api-reference/subscriptions/cancel-subscription"},{"title":"Update Subscription","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/subscriptions/{id}","href":"/api-reference/subscriptions/update-subscription"},{"title":"Resend Subscription Receipts","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/subscriptions/{id}/receipts/resend","href":"/api-reference/subscriptions/resend-subscription-receipts"},{"title":"Get Refund Preview","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/subscriptions/{id}/refund_preview","href":"/api-reference/subscriptions/get-refund-preview"},{"title":"Pause Subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/subscriptions/{id}/pause","href":"/api-reference/subscriptions/pause-subscription"},{"title":"Update Pause","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/subscriptions/{id}/pause","href":"/api-reference/subscriptions/update-pause"},{"title":"Resume Subscription","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/subscriptions/{id}/resume","href":"/api-reference/subscriptions/resume-subscription"},{"title":"Stop a failed resume and keep the subscription paused","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/subscriptions/{id}/resume/cancel","href":"/api-reference/subscriptions/stop-a-failed-resume-and-keep-the-subscription-paused"}]},{"group":"Balance Transactions","pages":[{"title":"List Balance Transactions","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/balance_transactions","href":"/api-reference/balance-transactions/list-balance-transactions"}]},{"group":"Setup Intents","pages":[{"title":"List Setup Intents","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/setup_intents","href":"/api-reference/setup-intents/list-setup-intents"},{"title":"Create Setup Intent","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/setup_intents","href":"/api-reference/setup-intents/create-setup-intent"},{"title":"Get Setup Intent","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/setup_intents/{id}","href":"/api-reference/setup-intents/get-setup-intent"}]},{"group":"Captures","pages":[{"title":"List captures","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/captures","href":"/api-reference/captures/list-captures"},{"title":"Retrieve a capture","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/captures/{capture_id}","href":"/api-reference/captures/retrieve-a-capture"},{"title":"Update a capture","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/captures/{capture_id}","href":"/api-reference/captures/update-a-capture"}]},{"group":"Files","pages":[{"title":"List Files","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/files","href":"/api-reference/files/list-files"},{"title":"Create File","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/files","href":"/api-reference/files/create-file"},{"title":"Retrieve File","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/files/{id}","href":"/api-reference/files/retrieve-file"}]}]}]},{"tab":"Compliance","pages":[{"title":"Compliance","href":"/compliance/introduction"}]},{"tab":"Marketing","pages":[{"title":"Marketing","href":"/merchant-success/introduction"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Update Product - Flex Documentation","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}