Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location’s value for that attribute.
Up to 2000 rows per call.
Sub-location: exactly one of subLocationExternalId or subLocationId. Attribute (looked up on the sub-location’s type): attributeExternalId → attributeId → attributeKey → attributeName (case-insensitive); supply at least one.
Value uses the same shape as location attribute values, and its type must match the attribute’s type. For select attributes, selected accepts option ids or option labels (case-insensitive). Send null to clear a value; a required attribute cannot be cleared.
The call is all-or-nothing; the error message names the failing row (e.g. values[2]).
Requires the Public API workspace feature, CAN_MANAGE_LOCATIONS, and Sub-Locations enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns 404).
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Xenia Team API","colors":{"primary":"#8e54e9","light":"#e1cfff","dark":"#e1cfff"},"logo":{"light":"https://mintcdn.com/xeniateam/r-j40vtdxuJKg0Zh/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=r-j40vtdxuJKg0Zh\u0026q=85\u0026s=6e8f1d49ac9946b22863d3dd22346adf","dark":"https://mintcdn.com/xeniateam/r-j40vtdxuJKg0Zh/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=r-j40vtdxuJKg0Zh\u0026q=85\u0026s=d2260d84971fb9ba7fbe9d3334f9769c"},"favicon":"https://mintcdn.com/xeniateam/r-j40vtdxuJKg0Zh/favicon.ico?fit=max\u0026auto=format\u0026n=r-j40vtdxuJKg0Zh\u0026q=85\u0026s=1ec461628add23e7e21efd17a9c2dea9","navbar":{"links":[{"href":"mailto:support@xenia.team","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.xenia.team/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/xenia-app"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"xeniateam","hasAudioNarration":false,"actualSubdomain":"xeniateam","customDomains":["docs.xenia.team"],"gitSource":{"type":"github","owner":"xeniaengineering","repo":"docs","deployBranch":"production","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af1a9b5ea8a9a7a2693706e","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API Reference","count":48},{"language":"default","tag":"Reporting","count":12},{"language":"default","tag":"Projects","count":11},{"language":"default","tag":"Guides","count":11},{"language":"default","tag":"Users","count":8},{"language":"default","tag":"Tasks","count":7},{"language":"default","tag":"Enterprise Locations","count":6},{"language":"default","tag":"Workflows","count":6},{"language":"default","tag":"Getting Started","count":3},{"language":"default","tag":"Integrations","count":2}]},"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":"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/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values","slug":"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values","pageMetadata":{"title":"Bulk Upsert Sub-Location Attribute Values","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-location-attribute-values/bulk-upsert","description":"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location's value for that attribute.\n\nUp to **2000** rows per call.\n\n**Sub-location:** exactly one of `subLocationExternalId` or `subLocationId`. **Attribute** (looked up on the sub-location's type): `attributeExternalId` → `attributeId` → `attributeKey` → `attributeName` (case-insensitive); supply at least one.\n\n**Value** uses the same shape as location attribute values, and its `type` must match the attribute's type. For select attributes, `selected` accepts option ids **or option labels** (case-insensitive). Send `null` to clear a value; a required attribute cannot be cleared.\n\nThe call is all-or-nothing; the error message names the failing row (e.g. `values[2]`).\n\nRequires the **Public API** workspace feature, `CAN_MANAGE_LOCATIONS`, and **Sub-Locations** enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns `404`).","href":"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location’s value for that attribute.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Up to \", _jsx(_components.strong, {\n children: \"2000\"\n }), \" rows per call.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Sub-location:\"\n }), \" exactly one of \", _jsx(_components.code, {\n children: \"subLocationExternalId\"\n }), \" or \", _jsx(_components.code, {\n children: \"subLocationId\"\n }), \". \", _jsx(_components.strong, {\n children: \"Attribute\"\n }), \" (looked up on the sub-location’s type): \", _jsx(_components.code, {\n children: \"attributeExternalId\"\n }), \" → \", _jsx(_components.code, {\n children: \"attributeId\"\n }), \" → \", _jsx(_components.code, {\n children: \"attributeKey\"\n }), \" → \", _jsx(_components.code, {\n children: \"attributeName\"\n }), \" (case-insensitive); supply at least one.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Value\"\n }), \" uses the same shape as location attribute values, and its \", _jsx(_components.code, {\n children: \"type\"\n }), \" must match the attribute’s type. For select attributes, \", _jsx(_components.code, {\n children: \"selected\"\n }), \" accepts option ids \", _jsx(_components.strong, {\n children: \"or option labels\"\n }), \" (case-insensitive). Send \", _jsx(_components.code, {\n children: \"null\"\n }), \" to clear a value; a required attribute cannot be cleared.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The call is all-or-nothing; the error message names the failing row (e.g. \", _jsx(_components.code, {\n children: \"values[2]\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Requires the \", _jsx(_components.strong, {\n children: \"Public API\"\n }), \" workspace feature, \", _jsx(_components.code, {\n children: \"CAN_MANAGE_LOCATIONS\"\n }), \", and \", _jsx(_components.strong, {\n children: \"Sub-Locations\"\n }), \" enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns \", _jsx(_components.code, {\n children: \"404\"\n }), \").\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\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 Sub-Location Attribute Values","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-location-attribute-values/bulk-upsert","description":"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location's value for that attribute.\n\nUp to **2000** rows per call.\n\n**Sub-location:** exactly one of `subLocationExternalId` or `subLocationId`. **Attribute** (looked up on the sub-location's type): `attributeExternalId` → `attributeId` → `attributeKey` → `attributeName` (case-insensitive); supply at least one.\n\n**Value** uses the same shape as location attribute values, and its `type` must match the attribute's type. For select attributes, `selected` accepts option ids **or option labels** (case-insensitive). Send `null` to clear a value; a required attribute cannot be cleared.\n\nThe call is all-or-nothing; the error message names the failing row (e.g. `values[2]`).\n\nRequires the **Public API** workspace feature, `CAN_MANAGE_LOCATIONS`, and **Sub-Locations** enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns `404`).","href":"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Bulk Upsert Sub-Location Attribute Values","description":"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location's value for that attribute.\n\nUp to **2000** rows per call.\n\n**Sub-location:** exactly one of `subLocationExternalId` or `subLocationId`. **Attribute** (looked up on the sub-location's type): `attributeExternalId` → `attributeId` → `attributeKey` → `attributeName` (case-insensitive); supply at least one.\n\n**Value** uses the same shape as location attribute values, and its `type` must match the attribute's type. For select attributes, `selected` accepts option ids **or option labels** (case-insensitive). Send `null` to clear a value; a required attribute cannot be cleared.\n\nThe call is all-or-nothing; the error message names the failing row (e.g. `values[2]`).\n\nRequires the **Public API** workspace feature, `CAN_MANAGE_LOCATIONS`, and **Sub-Locations** enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns `404`).","tags":["Enterprise Sub-Locations"],"parameters":["7be131a1-88d2-414e-9368-bb0bacf87f10"],"requestBody":"da40245b-42c2-4386-8e35-79f73a8cc7fa","responses":{"200":"2d26d9bc-2964-40a9-ab66-2a4543fe016b","400":"95861cef-5b67-4ebb-8c36-d4106734f035","401":"43a152bc-8c6f-4fd1-b5e4-dc0ad4dde2b9","403":"d3a4c91c-284d-4732-88a0-22200b481fa9","404":"bae7fd53-1a4f-46a5-81ea-b3191f10e926","422":"af684e46-5723-4fa4-bcfd-1ecd0ca45dbb","500":"20697d51-f1f7-44f1-9416-8962531d446d"},"security":["0eb69638-0b11-4895-ada0-bdd692000a2d"],"method":"post","type":"path","servers":["eb8e608f-38c3-434a-9a46-a06e11be4a47"],"path":"/api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-location-attribute-values/bulk-upsert","baseUrlOptions":["https://api.xenia.team"],"title":"Bulk Upsert Sub-Location Attribute Values","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"7be131a1-88d2-414e-9368-bb0bacf87f10":{"name":"workspaceId","in":"path","required":true,"description":"UUID of the workspace. Must be the workspace your API key is bound to.","schema":{"type":"string","format":"uuid","isRequired":true,"description":"UUID of the workspace. Must be the workspace your API key is bound to.","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"values":{"type":"array","minItems":1,"maxItems":2000,"items":{"type":"object","properties":{"value":{"oneOf":[{"type":"object","required":["type","selected"],"properties":{"type":{"const":"single_select","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.0.type","typeLabel":"any"},"selected":{"type":"string","description":"Option id or option label (case-insensitive).","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.0.selected","typeLabel":"string"}},"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.0","typeLabel":"object"},{"type":"object","required":["type","selected"],"properties":{"type":{"const":"multi_select","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.1.type","typeLabel":"any"},"selected":{"type":"array","minItems":1,"items":{"type":"string","uniqueKey":"values.items.[INDEX].value.oneOf.1.selected.items.[INDEX]","typeLabel":"string"},"description":"Option ids or labels.","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.1.selected","typeLabel":"string[]"}},"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.1","typeLabel":"object"},{"type":"object","required":["type","value"],"properties":{"type":{"const":"number","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.2.type","typeLabel":"any"},"value":{"type":"number","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.2.value","typeLabel":"number"}},"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.2","typeLabel":"object"},{"type":"object","required":["type","value"],"properties":{"type":{"const":"boolean","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.3.type","typeLabel":"any"},"value":{"type":"boolean","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.3.value","typeLabel":"boolean"}},"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.3","typeLabel":"object"},{"type":"object","required":["type","value"],"properties":{"type":{"const":"text","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.4.type","typeLabel":"any"},"value":{"type":"string","minLength":1,"maxLength":2000,"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.4.value","typeLabel":"string"}},"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.4","typeLabel":"object"},{"type":"object","required":["type","value"],"properties":{"type":{"const":"date","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.5.type","typeLabel":"any"},"value":{"type":"string","format":"date","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.5.value","typeLabel":"string\u003cdate>"}},"isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.5","typeLabel":"object"},{"type":"null","description":"Clears the value (not allowed for required attributes).","isRequired":true,"uniqueKey":"values.items.[INDEX].value.oneOf.6","typeLabel":"null"}],"isRequired":true,"uniqueKey":"values.items.[INDEX].value","typeLabel":"object · object · object · object · object · object · null"},"subLocationExternalId":{"type":"string","maxLength":255,"uniqueKey":"values.items.[INDEX].subLocationExternalId","typeLabel":"string"},"subLocationId":{"type":"string","format":"uuid","uniqueKey":"values.items.[INDEX].subLocationId","typeLabel":"string\u003cuuid>"},"attributeExternalId":{"type":"string","maxLength":255,"uniqueKey":"values.items.[INDEX].attributeExternalId","typeLabel":"string"},"attributeId":{"type":"string","format":"uuid","uniqueKey":"values.items.[INDEX].attributeId","typeLabel":"string\u003cuuid>"},"attributeKey":{"type":"string","maxLength":64,"uniqueKey":"values.items.[INDEX].attributeKey","typeLabel":"string"},"attributeName":{"type":"string","maxLength":120,"uniqueKey":"values.items.[INDEX].attributeName","typeLabel":"string"}},"required":["value"],"uniqueKey":"values.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"values","typeLabel":"object[]"}},"required":["values"],"uniqueKey":"","typeLabel":"object"},"example":{"values":[{"subLocationExternalId":"STORE-001-FRIDGE-1","attributeExternalId":"ZONE","value":{"type":"single_select","selected":"Back"}},{"subLocationExternalId":"STORE-001-FRIDGE-1","attributeKey":"capacity","value":{"type":"number","value":40}},{"subLocationExternalId":"STORE-001-FRIDGE-2","attributeKey":"zone","value":null}]},"examples":{"Example":{"title":"Example","value":{"values":[{"subLocationExternalId":"STORE-001-FRIDGE-1","attributeExternalId":"ZONE","value":{"type":"single_select","selected":"Back"}},{"subLocationExternalId":"STORE-001-FRIDGE-1","attributeKey":"capacity","value":{"type":"number","value":40}},{"subLocationExternalId":"STORE-001-FRIDGE-2","attributeKey":"zone","value":null}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"2d26d9bc-2964-40a9-ab66-2a4543fe016b":{"description":"One result per input row, in request order.","content":{"application/json":{"example":{"data":[{"subLocationId":"54fd6d64-4e76-4c9e-8171-f1a4f1c95bf9","attributeId":"8b1d2c3e-4f50-4a61-8b72-93a4b5c6d7e8"},{"subLocationId":"54fd6d64-4e76-4c9e-8171-f1a4f1c95bf9","attributeId":"9c2e3d4f-5061-4b72-9c83-a4b5c6d7e8f9"}],"extra_meta":{"message":"Sub-location values upserted"}},"examples":{"Example":{"title":"Example","value":{"data":[{"subLocationId":"54fd6d64-4e76-4c9e-8171-f1a4f1c95bf9","attributeId":"8b1d2c3e-4f50-4a61-8b72-93a4b5c6d7e8"},{"subLocationId":"54fd6d64-4e76-4c9e-8171-f1a4f1c95bf9","attributeId":"9c2e3d4f-5061-4b72-9c83-a4b5c6d7e8f9"}],"extra_meta":{"message":"Sub-location values upserted"}}}},"exampleType":"examples"}},"exampleType":"examples"},"95861cef-5b67-4ebb-8c36-d4106734f035":{"description":"Bad Request - the value's `type` does not match the attribute, a select value names an unknown option, or `null` targets a required attribute.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"43a152bc-8c6f-4fd1-b5e4-dc0ad4dde2b9":{"description":"Unauthorized - invalid client credentials, or the `workspaceId` in the path is not the workspace your key is bound to (`Client does not belong to this workspace`).","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"d3a4c91c-284d-4732-88a0-22200b481fa9":{"description":"Forbidden - missing `CAN_MANAGE_LOCATIONS`, or the **Public API** feature is not enabled for the workspace.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"bae7fd53-1a4f-46a5-81ea-b3191f10e926":{"description":"Not Found - Sub-Locations is not enabled for this workspace.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"af684e46-5723-4fa4-bcfd-1ecd0ca45dbb":{"description":"Unprocessable Entity - body failed validation, the sub-location does not resolve in this workspace, or the attribute is not on the sub-location's type.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"20697d51-f1f7-44f1-9416-8962531d446d":{"description":"Internal Server Error.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"0eb69638-0b11-4895-ada0-bdd692000a2d":{"clientKey":{"type":"apiKey","in":"header","name":"x-client-key","scopes":[],"schemeName":"clientKey"},"clientSecret":{"type":"apiKey","in":"header","name":"x-client-secret","scopes":[],"schemeName":"clientSecret"}}},"servers":{"eb8e608f-38c3-434a-9a46-a06e11be4a47":{"url":"https://api.xenia.team"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-client-key","scopes":[],"schemeName":"clientKey"},"schema":{"title":"x-client-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"clientKey","name":"x-client-key"},{"scheme":{"type":"apiKey","in":"header","name":"x-client-secret","scopes":[],"schemeName":"clientSecret"},"schema":{"title":"x-client-secret","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"clientSecret","name":"x-client-secret"}],"title":"clientKey \u0026 clientSecret"}]},"originalFileLocation":"api-reference/openapi/enterprise-sub-locations/bulk_upsert_sub_location_attribute_values.json"},"subdomain":"xeniateam","siteName":"Xenia Team API","title":"Bulk Upsert Sub-Location Attribute Values - Xenia Team API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-09T11:08:50.277Z","originalFileLocation":"api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values.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=\"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location\u0026#x27;s value for that attribute. Up to 2000 rows per call. Sub-location: exactly one of subLocationExternalId or subLocationId. Attribute (looked up on the sub-location\u0026#x27;s type): attributeExternalId → attributeId → attributeKey → attributeName (case-insensitive); supply at least one. Value uses the same shape as location attribute values, and its type must match the attribute\u0026#x27;s type. For select attributes, selected accepts option ids or option labels (case-insensitive). Send null to clear a value; a required attribute cannot be cleared. The call is all-or-nothing; the error message names the failing row (e.g. values[2]). Requires the Public API workspace feature, CAN_MANAGE_LOCATIONS, and Sub-Locations enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns 404).\">\u003cmeta data-mint-head name=\"application-name\" content=\"Xenia Team API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_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/xeniateam/1-R9L-rMXezXpRg2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Bulk Upsert Sub-Location Attribute Values - Xenia Team API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location\u0026#x27;s value for that attribute. Up to 2000 rows per call. Sub-location: exactly one of subLocationExternalId or subLocationId. Attribute (looked up on the sub-location\u0026#x27;s type): attributeExternalId → attributeId → attributeKey → attributeName (case-insensitive); supply at least one. Value uses the same shape as location attribute values, and its type must match the attribute\u0026#x27;s type. For select attributes, selected accepts option ids or option labels (case-insensitive). Send null to clear a value; a required attribute cannot be cleared. The call is all-or-nothing; the error message names the failing row (e.g. values[2]). Requires the Public API workspace feature, CAN_MANAGE_LOCATIONS, and Sub-Locations enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns 404).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Xenia Team API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://xeniateam.mintlify.site/_mintlify/api/og/v2?division=Enterprise+Sub-Locations\u0026amp;title=Bulk+Upsert+Sub-Location+Attribute+Values\u0026amp;description=Sets+or+clears+attribute+values+on+sub-locations.+Safe+to+re-run%3A+each+row+replaces+that+sub-location%27s+value+for+that+attribute.%0A%0AUp+to+**2000**+rows+per+call.\u0026amp;theme=10a62aa493e86ee87dcc54c2\u0026amp;signature=ecb7ae2f920733fa0355f28e36fd0b9454507e59683cfd49a7470f1aba48d581\">\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 Sub-Location Attribute Values - Xenia Team API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location\u0026#x27;s value for that attribute. Up to 2000 rows per call. Sub-location: exactly one of subLocationExternalId or subLocationId. Attribute (looked up on the sub-location\u0026#x27;s type): attributeExternalId → attributeId → attributeKey → attributeName (case-insensitive); supply at least one. Value uses the same shape as location attribute values, and its type must match the attribute\u0026#x27;s type. For select attributes, selected accepts option ids or option labels (case-insensitive). Send null to clear a value; a required attribute cannot be cleared. The call is all-or-nothing; the error message names the failing row (e.g. values[2]). Requires the Public API workspace feature, CAN_MANAGE_LOCATIONS, and Sub-Locations enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns 404).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://xeniateam.mintlify.site/_mintlify/api/og/v2?division=Enterprise+Sub-Locations\u0026amp;title=Bulk+Upsert+Sub-Location+Attribute+Values\u0026amp;description=Sets+or+clears+attribute+values+on+sub-locations.+Safe+to+re-run%3A+each+row+replaces+that+sub-location%27s+value+for+that+attribute.%0A%0AUp+to+**2000**+rows+per+call.\u0026amp;theme=10a62aa493e86ee87dcc54c2\u0026amp;signature=ecb7ae2f920733fa0355f28e36fd0b9454507e59683cfd49a7470f1aba48d581\">\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/xeniateam/1-R9L-rMXezXpRg2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Xenia Team API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8e54e9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.xenia.team/#organization\",\"name\":\"Xenia Team API\",\"url\":\"https://docs.xenia.team\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/xeniateam/r-j40vtdxuJKg0Zh/logo/logo-light.svg?fit=max\u0026auto=format\u0026n=r-j40vtdxuJKg0Zh\u0026q=85\u0026s=6e8f1d49ac9946b22863d3dd22346adf\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.xenia.team#website\",\"name\":\"Xenia Team API\",\"url\":\"https://docs.xenia.team\",\"publisher\":{\"@id\":\"https://docs.xenia.team/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values#webpage\",\"url\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values\",\"name\":\"Bulk Upsert Sub-Location Attribute Values\",\"description\":\"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location's value for that attribute. Up to 2000 rows per call. Sub-location: exactly one of subLocationExternalId or subLocationId. Attribute (looked up on the sub-location's type): attributeExternalId → attributeId → attributeKey → attributeName (case-insensitive); supply at least one. Value uses the same shape as location attribute values, and its type must match the attribute's type. For select attributes, selected accepts option ids or option labels (case-insensitive). Send null to clear a value; a required attribute cannot be cleared. The call is all-or-nothing; the error message names the failing row (e.g. values[2]). Requires the Public API workspace feature, CAN_MANAGE_LOCATIONS, and Sub-Locations enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns 404).\",\"dateModified\":\"2026-11-09T11:08:50.277Z\",\"isPartOf\":{\"@id\":\"https://docs.xenia.team#website\"},\"breadcrumb\":{\"@id\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Enterprise Sub-Locations\",\"item\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-types\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bulk Upsert Sub-Location Attribute Values\",\"item\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values#apireference\",\"headline\":\"Bulk Upsert Sub-Location Attribute Values\",\"name\":\"Bulk Upsert Sub-Location Attribute Values\",\"description\":\"Sets or clears attribute values on sub-locations. Safe to re-run: each row replaces that sub-location's value for that attribute. Up to 2000 rows per call. Sub-location: exactly one of subLocationExternalId or subLocationId. Attribute (looked up on the sub-location's type): attributeExternalId → attributeId → attributeKey → attributeName (case-insensitive); supply at least one. Value uses the same shape as location attribute values, and its type must match the attribute's type. For select attributes, selected accepts option ids or option labels (case-insensitive). Send null to clear a value; a required attribute cannot be cleared. The call is all-or-nothing; the error message names the failing row (e.g. values[2]). Requires the Public API workspace feature, CAN_MANAGE_LOCATIONS, and Sub-Locations enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns 404).\",\"url\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values\",\"mainEntityOfPage\":{\"@id\":\"https://docs.xenia.team/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values#webpage\"},\"dateModified\":\"2026-11-09T11:08:50.277Z\",\"publisher\":{\"@id\":\"https://docs.xenia.team/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.xenia.team#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Xenia Team API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Xenia Team API","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/getting-started"}]},{"tab":"API Reference","groups":[{"group":"Authentication","pages":[{"title":"Client Key Setup","href":"/api-reference/endpoints/authentication"}]},{"group":"Users","pages":[{"title":"Provision Users","openapi":"POST /api/v1/mgt/users/provision","href":"/api-reference/endpoints/users/provision-users"},{"title":"Get Users","openapi":"GET /api/v1/mgt/workspaces/{workspaceId}/users","href":"/api-reference/endpoints/users/get-users"},{"title":"Get User Context","openapi":"GET /api/v1/mgt/user-context","href":"/api-reference/endpoints/users/user-context"},{"title":"Change User Role","openapi":"PATCH /api/v1/mgt/workspaces/{workspaceId}/users/{userId}/role","href":"/api-reference/endpoints/users/change-user-role"},{"title":"Replace User Locations","openapi":"PUT /api/v1/mgt/workspaces/{workspaceId}/users/{userId}/locations","href":"/api-reference/endpoints/users/replace-user-locations"},{"title":"Set User Password","openapi":"PATCH /api/v1/mgt/workspaces/{workspaceId}/set-password","href":"/api-reference/endpoints/users/set-password"},{"title":"Set User Login Pin","openapi":"PUT /api/v1/mgt/set-login-pin","href":"/api-reference/endpoints/users/set-login-pin"},{"title":"Delete User","openapi":"DELETE /api/v1/mgt/workspaces/{workspaceId}/users/{userId}","href":"/api-reference/endpoints/users/delete-user"}]},{"group":"Locations","pages":[{"title":"Get Locations - Sub Locations Hierarchy","openapi":"GET /api/v1/mgt/workspaces/{workspaceId}/locations","href":"/api-reference/endpoints/locations/get-locations"}]},{"group":"Enterprise Locations","pages":[{"title":"Bulk Upsert Hierarchies","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/hierarchy/bulk-upsert","href":"/api-reference/endpoints/enterprise-locations/bulk-upsert-hierarchy"},{"title":"Bulk Upsert Locations","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/locations/bulk-upsert","href":"/api-reference/endpoints/enterprise-locations/bulk-upsert-locations"},{"title":"List Locations with External IDs","openapi":"GET /api/v1/mgt/enterprise/workspaces/{workspaceId}/locations","href":"/api-reference/endpoints/enterprise-locations/list-locations"},{"title":"Bulk Upsert Location Attributes","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/location-attributes/bulk-upsert","href":"/api-reference/endpoints/enterprise-locations/bulk-upsert-attributes"},{"title":"List Location Attributes","openapi":"GET /api/v1/mgt/enterprise/workspaces/{workspaceId}/location-attributes","href":"/api-reference/endpoints/enterprise-locations/list-attributes"},{"title":"Bulk Upsert Attribute Values","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/location-attribute-values/bulk-upsert","href":"/api-reference/endpoints/enterprise-locations/bulk-upsert-attribute-values"}]},{"group":"Enterprise Sub-Locations","pages":[{"title":"Bulk Upsert Sub-Location Types","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-location-types/bulk-upsert","href":"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-types"},{"title":"List Sub-Location Types","openapi":"GET /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-location-types","href":"/api-reference/endpoints/enterprise-sub-locations/list-sub-location-types"},{"title":"Bulk Upsert Sub-Locations","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-locations/bulk-upsert","href":"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-locations"},{"title":"List Sub-Locations","openapi":"GET /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-locations","description":"Returns one page of sub-locations with their type, site and attribute values, plus the `externalId`s you mapped to each. Attribute values are keyed by attribute `key`; select values hold option ids (resolve labels with List Sub-Location Types).\n\nResults are ordered stably. Page through with `offset` until a page returns fewer than `limit` rows.\n\nRequires the **Public API** workspace feature, `CAN_MANAGE_LOCATIONS`, and **Sub-Locations** enabled for the workspace (contact Xenia to enable it; until then every sub-location endpoint returns `404`).","href":"/api-reference/endpoints/enterprise-sub-locations/list-sub-locations"},{"title":"Bulk Upsert Sub-Location Attribute Values","openapi":"POST /api/v1/mgt/enterprise/workspaces/{workspaceId}/sub-location-attribute-values/bulk-upsert","href":"/api-reference/endpoints/enterprise-sub-locations/bulk-upsert-sub-location-attribute-values"}]},{"group":"Roles","pages":[{"title":"Get Roles","openapi":"GET /api/v1/mgt/workspaces/{workspaceId}/roles","description":"Returns every role defined in the workspace. Each role is a full Role row with the list of workspace users currently assigned to it under `WorkspaceUsers`.","href":"/api-reference/endpoints/roles/get"}]},{"group":"Teams","pages":[{"title":"List Teams","openapi":"GET /api/v1/mgt/workspaces/{workspaceId}/teams","href":"/api-reference/endpoints/teams/get-teams"}]},{"group":"Tasks","pages":[{"title":"Get Tasks","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/tasks/catalog","href":"/api-reference/endpoints/tasks/get-tasks"},{"title":"Get Task","openapi":"GET /api/v1/ops/workspaces/{workspaceId}/tasks/{taskId}/details","href":"/api-reference/endpoints/tasks/get-task-by-id"},{"title":"Get Task List","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/tasks/list","href":"/api-reference/endpoints/tasks/get-task-list"},{"title":"Create Task","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/tasks","href":"/api-reference/endpoints/tasks/create-task"},{"title":"Edit Task","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/tasks/{taskId}/edit","href":"/api-reference/endpoints/tasks/edit-task"},{"title":"Change Task Status","openapi":"PATCH /api/v1/ops/workspaces/{workspaceId}/tasks/{taskId}/status","href":"/api-reference/endpoints/tasks/set-task-status"},{"title":"Delete Task","openapi":"DELETE /api/v1/ops/workspaces/{workspaceId}/tasks/{taskId}","href":"/api-reference/endpoints/tasks/delete-task"}]},{"group":"Projects","pages":[{"title":"Create Project","href":"/api-reference/endpoints/projects/create-project"},{"title":"List Projects","openapi":"GET /api/v1/ops/workspaces/{workspaceId}/projects","href":"/api-reference/endpoints/projects/list-projects"},{"title":"Search Projects","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/projects","href":"/api-reference/endpoints/projects/search-projects"},{"title":"Get Project","openapi":"GET /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}","href":"/api-reference/endpoints/projects/get-project-by-id"},{"title":"Get Project Active Tasks","openapi":"GET /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}/active/tasks","href":"/api-reference/endpoints/projects/get-project-active-tasks"},{"title":"Get Project Schedule Analytics","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}/schedules/analytics","href":"/api-reference/endpoints/projects/project-schedule-analytics"},{"title":"Get Project Task Analytics","openapi":"POST /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}/tasks/analytics","href":"/api-reference/endpoints/projects/project-task-analytics"},{"title":"Edit Project","openapi":"PATCH /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}/edit","href":"/api-reference/endpoints/projects/edit-project"},{"title":"Pause or Resume Project","openapi":"GET /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}/toggle-pause","href":"/api-reference/endpoints/projects/pause-resume-project"},{"title":"End Project","openapi":"PUT /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}/end","href":"/api-reference/endpoints/projects/end-project"},{"title":"Delete Project","openapi":"DELETE /api/v1/ops/workspaces/{workspaceId}/projects/{projectId}","href":"/api-reference/endpoints/projects/delete-project"}]},{"group":"Reporting","pages":[{"title":"Submission Records","openapi":"POST /api/v1/ops/template-submissions","href":"/api-reference/endpoints/reporting/submission-records"},{"title":"Get Submission","openapi":"GET /api/v1/ops/workspaces/{workspaceId}/logs/{logId}","href":"/api-reference/endpoints/reporting/submission-record"},{"title":"Submission Counts by Status","openapi":"POST /api/v1/ops/submissions-count-by-status","href":"/api-reference/endpoints/reporting/submission-counts-by-status"},{"title":"Task Count by Status","openapi":"POST /api/v1/ops/reports/tasks/count-by-status","href":"/api-reference/endpoints/reporting/task-count-by-status"},{"title":"Task Count by Assignees","openapi":"POST /api/v1/ops/reports/tasks/count-by-assignees","href":"/api-reference/endpoints/reporting/task-count-by-assignees"},{"title":"Task Count by Categories","openapi":"POST /api/v1/ops/reports/tasks/count-by-categories","href":"/api-reference/endpoints/reporting/task-count-by-categories"},{"title":"Weekly Completion","openapi":"POST /api/v1/ops/reports/tasks/weekly-completion","href":"/api-reference/endpoints/reporting/weekly-completion"},{"title":"Schedule Completion by Location","openapi":"POST /api/v1/ops/reports/tasks/schedule-completion-by-location","href":"/api-reference/endpoints/reporting/schedule-completion-by-location"},{"title":"On-Time / Late Submission by Location","openapi":"POST /api/v1/ops/reports/tasks/on-time-late-submission-by-location","href":"/api-reference/endpoints/reporting/on-time-late-submission-by-location"},{"title":"Daily Compliance","openapi":"POST /api/v1/ops/reports/tasks/daily-compliance","href":"/api-reference/endpoints/reporting/daily-compliance"},{"title":"List Grid Reports","openapi":"GET /api/v1/mgt/grid-reports","href":"/api-reference/endpoints/reporting/grid-reports-list"},{"title":"Grid Report View Spreadsheet","openapi":"GET /api/v1/mgt/grid-report-views/{viewId}/spreadsheet","href":"/api-reference/endpoints/reporting/grid-report-spreadsheet"}]}]}]},"basePath":"","title":"Bulk Upsert Sub-Location Attribute Values - Xenia Team API","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"]}