{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"BSPK Developers Portal","colors":{"primary":"#171717","light":"#d4a27f","dark":"#171717"},"logo":{"light":"https://mintcdn.com/bspk-e077910a/M_e-8v-SU7FdiAxW/logo/light.svg?fit=max\u0026auto=format\u0026n=M_e-8v-SU7FdiAxW\u0026q=85\u0026s=b5137e53c57326ab951b3cf58b3bd2b2","dark":"https://mintcdn.com/bspk-e077910a/r9DoYji8AsQ9Xhq5/logo/dark.png?fit=max\u0026auto=format\u0026n=r9DoYji8AsQ9Xhq5\u0026q=85\u0026s=8b586e85afe09eeb48dd8897216c20c0"},"favicon":"https://mintcdn.com/bspk-e077910a/r9DoYji8AsQ9Xhq5/favicon.png?fit=max\u0026auto=format\u0026n=r9DoYji8AsQ9Xhq5\u0026q=85\u0026s=53d517af69304679af79466ec82923c1","api":{"playground":{"display":"interactive"}},"background":{"color":{"light":"#fdfdf8","dark":"#09090b"}},"navbar":{"links":[{"href":"mailto:support@bspk.com","label":"Get Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.mintlify.com"}},"footer":{"socials":{"github":"https://github.com/bspk-www","linkedin":"https://www.linkedin.com/company/bspkluxury"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"bspk-e077910a","hasAudioNarration":false,"actualSubdomain":"bspk-e077910a","customDomains":["developers.bspk.com"],"gitSource":{"type":"github","owner":"bspk-www","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6ac64d9b4c7e27d998eaaae8","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Documentation","count":117},{"language":"default","tag":"API Reference","count":57},{"language":"default","tag":"Platform API","count":22},{"language":"default","tag":"Core Data Integration Guide","count":19},{"language":"default","tag":"Import Files Specs","count":17},{"language":"default","tag":"Webhooks","count":12},{"language":"default","tag":"Extraction API","count":11},{"language":"default","tag":"Using the API","count":7},{"language":"default","tag":"Clients","count":7},{"language":"default","tag":"Shopper Addresses","count":6}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper","slug":"/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper","pageMetadata":{"title":"Bulk upsert metafields for a shopper","description":"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json put /api/platform/v1/shoppers/{shopper_ref}/metafields","href":"/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper","autogeneratedByOpenApi":true},"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: \"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.\"\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":"Bulk upsert metafields for a shopper","description":"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json put /api/platform/v1/shoppers/{shopper_ref}/metafields","href":"/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Bulk upsert metafields for a shopper","tags":["Shopper Metafields"],"description":"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.","operationId":"upsertShopperMetafields","security":["982e4a9a-ede0-484a-9289-9876eab8e72d"],"parameters":["fa2428a1-7d77-47ab-b6a7-35a6a57fd0b7"],"responses":{"200":"c06baf78-4cec-4029-8758-a99a31d1694d","404":"ca073ef3-7e73-4baa-ab65-4a492f3957fd","422":"040e3695-6ccf-4b91-80a4-314d59b7adad"},"requestBody":"6a741766-a00c-4868-98fe-71efe26917fd","method":"put","type":"path","servers":["331a6dc5-300e-4b84-982a-6061363cb219"],"path":"/api/platform/v1/shoppers/{shopper_ref}/metafields","baseUrlOptions":["https://api.bspk.com"],"title":"Bulk upsert metafields for a shopper","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"fa2428a1-7d77-47ab-b6a7-35a6a57fd0b7":{"name":"shopper_ref","in":"path","description":"Shopper external ID","required":true,"schema":{"type":"string","isRequired":true,"description":"Shopper external ID","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"metafields":{"type":"array","items":{"type":"object","properties":{"namespace":{"type":"string","example":"custom","isRequired":true,"uniqueKey":"metafields.items.[INDEX].namespace","typeLabel":"string"},"key":{"type":"string","example":"loyalty_tier","isRequired":true,"uniqueKey":"metafields.items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","example":"gold","isRequired":true,"uniqueKey":"metafields.items.[INDEX].value","typeLabel":"string"},"value_type":{"type":"string","enum":["single_line_text_field","boolean","date","json"],"example":"single_line_text_field","isRequired":true,"uniqueKey":"metafields.items.[INDEX].value_type","typeLabel":"enum\u003cstring>"},"is_list":{"type":"boolean","example":false,"uniqueKey":"metafields.items.[INDEX].is_list","typeLabel":"boolean"}},"required":["namespace","key","value","value_type"],"uniqueKey":"metafields.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"metafields","typeLabel":"object[]"}},"required":["metafields"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"metafields":[{"namespace":"custom","key":"loyalty_tier","value":"gold","value_type":"single_line_text_field","is_list":false}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c06baf78-4cec-4029-8758-a99a31d1694d":{"description":"Successful upsert, returns all metafields","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","isRequired":true,"uniqueKey":"items.[INDEX].id","typeLabel":"integer"},"namespace":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].namespace","typeLabel":"string"},"key":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].key","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].value","typeLabel":"string"},"value_type":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].value_type","typeLabel":"string"},"is_list":{"type":"boolean","isRequired":true,"uniqueKey":"items.[INDEX].is_list","typeLabel":"boolean"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].created_at","typeLabel":"string"},"updated_at":{"type":"string","isRequired":true,"uniqueKey":"items.[INDEX].updated_at","typeLabel":"string"},"json_value":{"oneOf":[{},{"type":"null","uniqueKey":"items.[INDEX].json_value.oneOf.1","typeLabel":"null"}],"uniqueKey":"items.[INDEX].json_value","typeLabel":"null"}},"required":["id","namespace","key","value","value_type","is_list","created_at","updated_at"],"uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"examples":{"Example":{"title":"Example","value":[{"id":123,"namespace":"\u003cstring>","key":"\u003cstring>","value":"\u003cstring>","value_type":"\u003cstring>","is_list":true,"created_at":"\u003cstring>","updated_at":"\u003cstring>","json_value":"\u003cunknown>"}]}},"exampleType":"generated"}},"exampleType":"generated"},"ca073ef3-7e73-4baa-ab65-4a492f3957fd":{"description":"Shopper not found","content":{"application/json":{"schema":{}}},"exampleType":"generated"},"040e3695-6ccf-4b91-80a4-314d59b7adad":{"description":"Validation errors","content":{"application/json":{"schema":{}}},"exampleType":"generated"}},"security":{"982e4a9a-ede0-484a-9289-9876eab8e72d":{"BearerAuth":{"type":"http","scheme":"bearer","scopes":[]}}},"servers":{"331a6dc5-300e-4b84-982a-6061363cb219":{"url":"https://api.bspk.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/platform_v1.json"},"subdomain":"bspk-e077910a","siteName":"BSPK Developers Portal","title":"Bulk upsert metafields for a shopper - BSPK Developers Portal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-24T21:14:41.330Z","originalFileLocation":"api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper.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=\"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"BSPK Developers Portal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_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/bspk-e077910a/_u2uKaCzDSXK5Flz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk upsert metafields for a shopper - BSPK Developers Portal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"BSPK Developers Portal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://bspk-e077910a.mintlify.site/_mintlify/api/og/v2?division=Shopper+Metafields\u0026amp;title=Bulk+upsert+metafields+for+a+shopper\u0026amp;description=Creates+or+updates+metafields+for+the+specified+shopper.+Metafields+are+matched+by+namespace+and+key.\u0026amp;theme=649ae966eb94c3fb62b2076c\u0026amp;signature=90d9391f68a76bfc3f01b883a064102cc6e4e9eeb99f2c5617d0ca46efe01bfe\">\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 upsert metafields for a shopper - BSPK Developers Portal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://bspk-e077910a.mintlify.site/_mintlify/api/og/v2?division=Shopper+Metafields\u0026amp;title=Bulk+upsert+metafields+for+a+shopper\u0026amp;description=Creates+or+updates+metafields+for+the+specified+shopper.+Metafields+are+matched+by+namespace+and+key.\u0026amp;theme=649ae966eb94c3fb62b2076c\u0026amp;signature=90d9391f68a76bfc3f01b883a064102cc6e4e9eeb99f2c5617d0ca46efe01bfe\">\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/bspk-e077910a/_u2uKaCzDSXK5Flz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"BSPK Developers Portal\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#171717\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.bspk.com/#organization\",\"name\":\"BSPK Developers Portal\",\"url\":\"https://developers.bspk.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/bspk-e077910a/M_e-8v-SU7FdiAxW/logo/light.svg?fit=max\u0026auto=format\u0026n=M_e-8v-SU7FdiAxW\u0026q=85\u0026s=b5137e53c57326ab951b3cf58b3bd2b2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.bspk.com#website\",\"name\":\"BSPK Developers Portal\",\"url\":\"https://developers.bspk.com\",\"publisher\":{\"@id\":\"https://developers.bspk.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper#webpage\",\"url\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper\",\"name\":\"Bulk upsert metafields for a shopper\",\"description\":\"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.\",\"dateModified\":\"2026-03-24T21:14:41.330Z\",\"isPartOf\":{\"@id\":\"https://developers.bspk.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Shopper Metafields\",\"item\":\"https://developers.bspk.com/api-reference/shopper-metafields/list-metafields-for-a-shopper\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk upsert metafields for a shopper\",\"item\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper#apireference\",\"headline\":\"Bulk upsert metafields for a shopper\",\"name\":\"Bulk upsert metafields for a shopper\",\"description\":\"Creates or updates metafields for the specified shopper. Metafields are matched by namespace and key.\",\"url\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper\",\"mainEntityOfPage\":{\"@id\":\"https://developers.bspk.com/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper#webpage\"},\"dateModified\":\"2026-03-24T21:14:41.330Z\",\"publisher\":{\"@id\":\"https://developers.bspk.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.bspk.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"BSPK Developers Portal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"BSPK Developers Portal","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/welcome"}]},{"tab":"API Reference","groups":[{"group":"Using the API","pages":[{"title":"Getting started","href":"/api-reference/getting-started"},{"title":"Schema and Versioning","href":"/api-reference/schema-and-versioning"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Requests and Responses","href":"/api-reference/requests-and-responses"},{"title":"Pagination","href":"/api-reference/pagination"},{"title":"Rate limiting","href":"/api-reference/rate-limiting"},{"title":"Getting Support","href":"/api-reference/support"}]},{"group":"Platform API","pages":[{"title":"Introduction","href":"/api-reference/platform-api/introduction"},{"group":"Clients","pages":[{"openapi":"post /api/platform/v1/clients","title":"[Deprecated] Creates or updates a Client (Shopper) in BSPK","href":"/api-reference/platform-api/endpoints/clients/[deprecated]-creates-or-updates-a-client-shopper-in-bspk"},{"openapi":"post /api/platform/v1/clients/{id}/external_link","deprecated":true,"title":"[Deprecated] Links a BSPK Client with a Client in an external backend system","href":"/api-reference/platform-api/endpoints/clients/[deprecated]-links-a-bspk-client-with-a-client-in-an-external-backend-system"},{"openapi":"delete /api/platform/v1/clients/{id}/external_link","deprecated":true,"title":"[Deprecated] Removes the Link from a BSPK Client with a Client in an external backend system","href":"/api-reference/platform-api/endpoints/clients/[deprecated]-removes-the-link-from-a-bspk-client-with-a-client-in-an-external-backend-system"}]},{"group":"Shoppers","pages":[{"openapi":"post /api/platform/v1/shoppers","title":"Creates or updates a Shopper in BSPK","href":"/api-reference/platform-api/endpoints/shoppers/creates-or-updates-a-shopper-in-bspk"},{"openapi":"post /api/platform/v1/shoppers/{id}/external_link","title":"Links a BSPK Shopper with a Shopper in an external backend system","href":"/api-reference/platform-api/endpoints/shoppers/links-a-bspk-shopper-with-a-shopper-in-an-external-backend-system"},{"openapi":"delete /api/platform/v1/shoppers/{id}/external_link","title":"Removes the link from a BSPK Shopper with a Shopper in an external backend system","href":"/api-reference/platform-api/endpoints/shoppers/removes-the-link-from-a-bspk-shopper-with-a-shopper-in-an-external-backend-system"}]},{"group":"Shopper Metafields","pages":[{"openapi":"get /api/platform/v1/shoppers/{shopper_ref}/metafields","title":"List metafields for a shopper","href":"/api-reference/platform-api/endpoints/shopper-metafields/list-metafields-for-a-shopper"},{"openapi":"put /api/platform/v1/shoppers/{shopper_ref}/metafields","title":"Bulk upsert metafields for a shopper","href":"/api-reference/platform-api/endpoints/shopper-metafields/bulk-upsert-metafields-for-a-shopper"},{"openapi":"delete /api/platform/v1/shoppers/{shopper_ref}/metafields/{namespace}/{key}","title":"Delete a metafield","href":"/api-reference/platform-api/endpoints/shopper-metafields/delete-a-metafield"}]},{"group":"Shopper Addresses","pages":[{"openapi":"post /api/platform/v1/shoppers/{shopper_ref}/addresses.json","title":"Create an address for a shopper","href":"/api-reference/platform-api/endpoints/shopper-addresses/create-an-address-for-a-shopper"},{"openapi":"patch /api/platform/v1/shoppers/{shopper_ref}/addresses/{address_ref}.json","title":"Update a shopper address","href":"/api-reference/platform-api/endpoints/shopper-addresses/update-a-shopper-address"},{"openapi":"delete /api/platform/v1/shoppers/{shopper_ref}/addresses/{address_ref}.json","title":"Delete a shopper address","href":"/api-reference/platform-api/endpoints/shopper-addresses/delete-a-shopper-address"}]},{"group":"Products","pages":[{"openapi":"post /api/platform/v1/products/inventories/batches","title":"Creates or updates inventory quantities in batch","href":"/api-reference/platform-api/endpoints/products/creates-or-updates-inventory-quantities-in-batch"}]},{"group":"Webhooks","pages":[{"title":"Introduction","href":"/api-reference/platform-api/endpoints/webhooks/introduction"},{"title":"Events and Payloads","href":"/api-reference/platform-api/endpoints/webhooks/events-and-payloads"},{"title":"Secure your webhooks","href":"/api-reference/platform-api/endpoints/webhooks/security"},{"title":"Webhooks Retry Policy","href":"/api-reference/platform-api/endpoints/webhooks/retry-policy"},{"openapi":"post /api/platform/v1/webhook_endpoints","title":"Creates a webhook endpoint","href":"/api-reference/platform-api/endpoints/webhooks/creates-a-webhook-endpoint"},{"openapi":"delete /api/platform/v1/webhook_endpoints/{id}","title":"Delete a webhook endpoint","href":"/api-reference/platform-api/endpoints/webhooks/delete-a-webhook-endpoint"},{"openapi":"patch /api/platform/v1/webhook_endpoints/{id}","title":"Updates a webhook endpoint","href":"/api-reference/platform-api/endpoints/webhooks/updates-a-webhook-endpoint"},{"openapi":"get /api/platform/v1/webhook_endpoints","title":"List Webhook Endpoints","href":"/api-reference/platform-api/endpoints/webhooks/list-webhook-endpoints"}]}]},{"group":"Extraction API","pages":[{"title":"Introduction","href":"/api-reference/extraction-api/introduction"},{"title":"Extracting a delta","href":"/api-reference/extraction-api/extracting-a-delta"},{"group":"Appointments","pages":[{"openapi":"get /api/extraction/v1/appointments","title":"List Appointments","href":"/api-reference/extraction-api/endpoints/appointments/list-appointments"}]},{"group":"Calls","pages":[{"openapi":"get /api/extraction/v1/calls","title":"List Calls","href":"/api-reference/extraction-api/endpoints/calls/list-calls"}]},{"group":"Clients","pages":[{"openapi":"get /api/extraction/v1/clients","title":"List Clients","href":"/api-reference/extraction-api/endpoints/clients/list-clients"}]},{"group":"Emails","pages":[{"openapi":"get /api/extraction/v1/emails","title":"List Emails","href":"/api-reference/extraction-api/endpoints/emails/list-emails"}]},{"group":"Messages","pages":[{"openapi":"get /api/extraction/v1/messages","title":"List Messages","href":"/api-reference/extraction-api/endpoints/messages/list-messages"}]},{"group":"Notes","pages":[{"openapi":"get /api/extraction/v1/notes","title":"List Notes","href":"/api-reference/extraction-api/endpoints/notes/list-notes"}]},{"group":"Reminders","pages":[{"openapi":"get /api/extraction/v1/reminders","title":"List Reminders","href":"/api-reference/extraction-api/endpoints/reminders/list-reminders"}]},{"group":"Sales Associates","pages":[{"openapi":"get /api/extraction/v1/sales_associates","title":"List Sales Associates","href":"/api-reference/extraction-api/endpoints/sales-associates/list-sales-associates"}]},{"group":"Slices","pages":[{"openapi":"get /api/extraction/v1/slices","title":"List Slices","href":"/api-reference/extraction-api/endpoints/slices/list-slices"}]}]},{"group":"Clients","pages":[{"title":"[Deprecated] Links a BSPK Client with a Client in an external backend system","deprecated":true,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/clients/{id}/external_link","href":"/api-reference/clients/[deprecated]-links-a-bspk-client-with-a-client-in-an-external-backend-system"},{"title":"[Deprecated] Removes the Link from a BSPK Client with a Client in an external backend system","deprecated":true,"version":null,"openapi":"/api-reference/platform_v1.json delete /api/platform/v1/clients/{id}/external_link","href":"/api-reference/clients/[deprecated]-removes-the-link-from-a-bspk-client-with-a-client-in-an-external-backend-system"},{"title":"[Deprecated] Creates or updates a Client (Shopper) in BSPK","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/clients","href":"/api-reference/clients/[deprecated]-creates-or-updates-a-client-shopper-in-bspk"}]},{"group":"Shoppers","pages":[{"title":"Creates or updates a Shopper in BSPK","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/shoppers","href":"/api-reference/shoppers/creates-or-updates-a-shopper-in-bspk"},{"title":"Links a BSPK Shopper with a Shopper in an external backend system","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/shoppers/{id}/external_link","href":"/api-reference/shoppers/links-a-bspk-shopper-with-a-shopper-in-an-external-backend-system"},{"title":"Removes the link from a BSPK Shopper with a Shopper in an external backend system","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json delete /api/platform/v1/shoppers/{id}/external_link","href":"/api-reference/shoppers/removes-the-link-from-a-bspk-shopper-with-a-shopper-in-an-external-backend-system"}]},{"group":"Shopper Metafields","pages":[{"title":"List metafields for a shopper","description":"Returns all metafields for the specified shopper.","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json get /api/platform/v1/shoppers/{shopper_ref}/metafields","href":"/api-reference/shopper-metafields/list-metafields-for-a-shopper"},{"title":"Bulk upsert metafields for a shopper","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json put /api/platform/v1/shoppers/{shopper_ref}/metafields","href":"/api-reference/shopper-metafields/bulk-upsert-metafields-for-a-shopper"},{"title":"Delete a metafield","description":"Deletes a metafield identified by namespace and key.","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json delete /api/platform/v1/shoppers/{shopper_ref}/metafields/{namespace}/{key}","href":"/api-reference/shopper-metafields/delete-a-metafield"}]},{"group":"Shopper Addresses","pages":[{"title":"Create an address for a shopper","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/shoppers/{shopper_ref}/addresses.json","href":"/api-reference/shopper-addresses/create-an-address-for-a-shopper"},{"title":"Delete a shopper address","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json delete /api/platform/v1/shoppers/{shopper_ref}/addresses/{address_ref}.json","href":"/api-reference/shopper-addresses/delete-a-shopper-address"},{"title":"Update a shopper address","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json patch /api/platform/v1/shoppers/{shopper_ref}/addresses/{address_ref}.json","href":"/api-reference/shopper-addresses/update-a-shopper-address"}]},{"group":"Products","pages":[{"title":"Creates or updates inventory quantities in batch","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/products/inventories/batches","href":"/api-reference/products/creates-or-updates-inventory-quantities-in-batch"}]},{"group":"Webhooks","pages":[{"title":"List Webhook Endpoints","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json get /api/platform/v1/webhook_endpoints","href":"/api-reference/webhooks/list-webhook-endpoints"},{"title":"Creates a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json post /api/platform/v1/webhook_endpoints","href":"/api-reference/webhooks/creates-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json delete /api/platform/v1/webhook_endpoints/{id}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Updates a webhook endpoint","deprecated":null,"version":null,"openapi":"/api-reference/platform_v1.json patch /api/platform/v1/webhook_endpoints/{id}","href":"/api-reference/webhooks/updates-a-webhook-endpoint"}]}]}]},{"anchor":"Get Support","icon":"envelope","href":"mailto:support@bspk.com"}]},"basePath":"","title":"Bulk upsert metafields for a shopper - BSPK Developers Portal","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}