{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"KODE Labs - Product Documentation","colors":{"primary":"#015BFA","light":"#3A9AFF","dark":"#015BFA"},"logo":{"light":"https://mintcdn.com/kodelabs/YfYud6Al4TM68wc2/logo/logo-light.png?fit=max\u0026auto=format\u0026n=YfYud6Al4TM68wc2\u0026q=85\u0026s=00d4ffd6ad7a592e52856804d1a53d12","dark":"https://mintcdn.com/kodelabs/YfYud6Al4TM68wc2/logo/logo-dark.png?fit=max\u0026auto=format\u0026n=YfYud6Al4TM68wc2\u0026q=85\u0026s=a6769f53904d96f5a53ea0c4b3c972d6","href":"/"},"favicon":{"light":"https://mintcdn.com/kodelabs/H3HEEQdnaG21O57-/logo/favicon-light.png?fit=max\u0026auto=format\u0026n=H3HEEQdnaG21O57-\u0026q=85\u0026s=3ae881e353dfb5c2f667e175ec82c799","dark":"https://mintcdn.com/kodelabs/H3HEEQdnaG21O57-/logo/favicon-dark.png?fit=max\u0026auto=format\u0026n=H3HEEQdnaG21O57-\u0026q=85\u0026s=845431bc7d53ce5bf50f56ef53d9137f"},"api":{"params":{"expanded":"closed"},"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","languages":["bash","javascript","python","powershell"],"prefill":true,"autogenerate":true},"url":"full"},"appearance":{"default":"light","strict":true},"background":{"color":{"light":"#ffffff","dark":"#121212"}},"navbar":{"links":[{"href":"https://kodelabs.com/contact/","label":"Contact Us"}]},"footer":{"socials":{"x":"https://twitter.com/kodelabs","instagram":"https://www.instagram.com/kode_labs","linkedin":"https://www.linkedin.com/company/kodelabs","youtube":"https://www.youtube.com/channel/UCKCnsgnYtugWxMPzu3UEHkw"},"links":[{"header":"Platform","items":[{"label":"KODE OS","href":"https://kodelabs.com"},{"label":"Integrations","href":"https://kodelabs.com/partners/integrations-library"},{"label":"Security","href":"https://kodelabs.com/security"}]},{"header":"Resources","items":[{"label":"Blog","href":"https://kodelabs.com/blog"},{"label":"Reports \u0026 Guides","href":"https://kodelabs.com/resources"},{"label":"Podcasts \u0026 Webinars","href":"https://kodelabs.com/resources"},{"label":"Case Studies","href":"https://kodelabs.com/case-studies"},{"label":"News","href":"https://kodelabs.com/news"}]},{"header":"Solutions","items":[{"label":"Commercial","href":"https://kodelabs.com/solutions/commercial-real-estate"},{"label":"Corporate","href":"https://kodelabs.com/solutions/corporate"},{"label":"Retail","href":"https://kodelabs.com/solutions/retail"},{"label":"Healthcare","href":"https://kodelabs.com/solutions/healthcare"},{"label":"Education","href":"https://kodelabs.com/solutions/education"}]},{"header":"Company","items":[{"label":"About","href":"https://kodelabs.com/about"},{"label":"Careers","href":"https://kodelabs.com/careers"},{"label":"Internships","href":"https://kodelabs.com/internships"},{"label":"Contact Us","href":"https://kodelabs.com/contact"}]}]},"search":{"prompt":"Search our docs..."},"fonts":{"heading":{"family":"Manrope","weight":600},"body":{"family":"Inter"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"integrations":{"ga4":{"measurementId":"G-WKYQEE1T4B"}},"banner":{"content":"KODE 3.20 is live. See [what's new in November 2026](/whats-new/2026/v3.20-november-2026).","dismissible":true,"color":{"light":"#015BFA","dark":"#015BFA"}},"errors":{"404":{"redirect":false,"title":"We're working on it!","description":"If you're not seeing this page, we're definitely updating it."}},"contextual":{"options":["copy","view",{"title":"Email KODE support","description":"Contact KODE Labs support for help","icon":"mail","href":"mailto:support@kodelabs.com"}],"display":"toc"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"navigation":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/"},{"anchor":"What's New","icon":"megaphone","href":"/whats-new/2026/v3.20-november-2026"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kodelabs","hasAudioNarration":false,"actualSubdomain":"kodelabs","customDomains":["docs.kodelabs.com"],"gitSource":{"type":"github","owner":"kode-labs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af321fa926281184455856d","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Integrations","count":215},{"language":"default","tag":"All Integrations","count":206},{"language":"default","tag":"KODE API","count":143},{"language":"default","tag":"API reference","count":132},{"language":"default","tag":"EnerG","count":61},{"language":"default","tag":"Meters","count":37},{"language":"default","tag":"Building BI","count":35},{"language":"default","tag":"AssetOps","count":32},{"language":"default","tag":"Cloud BMS","count":31},{"language":"default","tag":"Reference","count":29}],"searchSettings":{"showContentSnippets":true,"isFiltersEnabled":true,"maxResults":10}},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","href":"/_mintlify/custom/kodelabs/3b110747c25b763a/custom.css"}],"page":{"pagePath":"products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch","slug":"/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch","pageMetadata":{"title":"Create or update devices in a batch","description":"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.","deprecated":null,"version":null,"sidebarTitle":"Upsert devices in a batch","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/batch","href":"/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch","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 multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.\"\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":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Create or update devices in a batch","description":"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.","deprecated":null,"version":null,"sidebarTitle":"Upsert devices in a batch","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/batch","href":"/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Devices"],"summary":"Create or update devices in a batch","operationId":"upsertDevicesBatch","description":"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.","x-mint":{"href":"/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch","metadata":{"sidebarTitle":"Upsert devices in a batch"},"playground":{"expand":false}},"parameters":["f8aaa19f-34a2-4b05-ae4f-89d8c367642d","fc066553-7214-49c1-b0ed-d334e0792695"],"requestBody":"841f568f-a339-4129-8a4b-2371fcd4f02f","responses":{"200":"9ae54e32-84e9-46c5-b213-179a4b379f6e","400":"f23647dd-6827-4897-a2af-b13cc0b6818c","401":"80142ed4-54b7-4441-aab1-4826222e2853","403":"cb909719-0d6a-4135-a250-54e0ddb1eed0","404":"2e38421e-0832-4c27-9b18-9d3ebdd84b01","429":"7f59d9e4-53dc-444e-9c09-6fea8fc8f9b9"},"method":"post","type":"path","servers":["3c38db1c-5cf1-4ba9-986b-d4b0f989fbbf"],"security":["8bc131e9-a455-48e5-b70f-6a551e2c2124"],"path":"/api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/batch","baseUrlOptions":["https://api.kodelabs.com/kodeos"],"title":"Create or update devices in a batch","codeSamples":[],"requestExampleLanguages":["bash","javascript","python","powershell"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.devices.items.0.id":"ahu-01","body.devices.items.0.name":"AHU-01","body.devices.items.0.points.items.0.pointId":"supply-air-temp","body.devices.items.0.points.items.0.name":"Supply Air Temp","body.devices.items.0.points.items.0.kind":"Number","body.devices.items.0.points.items.0.unit":"°F","body.devices.items.0.points.items.0.pointEnum.items.0":"\u003cstring>","body.devices.items.0.displayName":"Air Handling Unit 1","body.devices.items.0.path":"/plant/ahu-01"}],"urlDisplay":"full"},"dependencies":{"parameters":{"f8aaa19f-34a2-4b05-ae4f-89d8c367642d":{"name":"buildingId","in":"path","required":true,"description":"Building identifier from List buildings.","schema":{"type":"string","isRequired":true,"description":"Building identifier from List buildings.","uniqueKey":"","typeLabel":"string"},"example":"67c960faffaa42223163099e"},"fc066553-7214-49c1-b0ed-d334e0792695":{"name":"datasourceId","in":"path","required":true,"description":"Data source identifier from List building data sources.","schema":{"type":"string","isRequired":true,"description":"Data source identifier from List building data sources.","uniqueKey":"","typeLabel":"string"},"example":"67c97396a0fceb379fc4ec08"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["devices"],"properties":{"devices":{"type":"array","description":"Devices to create or update.","items":{"type":"object","required":["id","name","points"],"properties":{"id":{"type":"string","description":"Device identifier in your source system. Reusing an identifier updates the device.","example":"ahu-01","isRequired":true,"uniqueKey":"devices.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","example":"AHU-01","isRequired":true,"uniqueKey":"devices.items.[INDEX].name","typeLabel":"string"},"points":{"type":"array","items":{"type":"object","required":["pointId","name","kind"],"properties":{"pointId":{"type":"string","description":"Point identifier in your source system.","example":"supply-air-temp","isRequired":true,"uniqueKey":"devices.items.[INDEX].points.items.[INDEX].pointId","typeLabel":"string"},"name":{"type":"string","example":"Supply Air Temp","isRequired":true,"uniqueKey":"devices.items.[INDEX].points.items.[INDEX].name","typeLabel":"string"},"kind":{"type":"string","enum":["Bool","Str","Number"],"description":"Value type of the point.","example":"Number","isRequired":true,"uniqueKey":"devices.items.[INDEX].points.items.[INDEX].kind","typeLabel":"enum\u003cstring>"},"unit":{"type":"string","example":"°F","uniqueKey":"devices.items.[INDEX].points.items.[INDEX].unit","typeLabel":"string"},"pointEnum":{"type":"array","description":"Allowed values for enumerated points.","items":{"type":"string","uniqueKey":"devices.items.[INDEX].points.items.[INDEX].pointEnum.items.[INDEX]","typeLabel":"string"},"uniqueKey":"devices.items.[INDEX].points.items.[INDEX].pointEnum","typeLabel":"string[]"}},"uniqueKey":"devices.items.[INDEX].points.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"devices.items.[INDEX].points","typeLabel":"object[]"},"displayName":{"type":"string","example":"Air Handling Unit 1","uniqueKey":"devices.items.[INDEX].displayName","typeLabel":"string"},"path":{"type":"string","description":"Device path in your source system.","example":"/plant/ahu-01","uniqueKey":"devices.items.[INDEX].path","typeLabel":"string"}},"uniqueKey":"devices.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"devices","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"devices":[{"id":"ahu-01","name":"AHU-01","points":[{"pointId":"supply-air-temp","name":"Supply Air Temp","kind":"Number","unit":"°F","pointEnum":["\u003cstring>"]}],"displayName":"Air Handling Unit 1","path":"/plant/ahu-01"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"9ae54e32-84e9-46c5-b213-179a4b379f6e":{"description":"Number of devices and points created or updated.","content":{"application/json":{"schema":{"type":"object","properties":{"deviceSize":{"type":"integer","description":"Number of devices created or updated.","example":1,"uniqueKey":"deviceSize","typeLabel":"integer"},"pointsSize":{"type":"integer","description":"Number of points created or updated.","example":1,"uniqueKey":"pointsSize","typeLabel":"integer"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"deviceSize":1,"pointsSize":1}}},"exampleType":"generated"}},"exampleType":"generated"},"f23647dd-6827-4897-a2af-b13cc0b6818c":{"description":"The request is invalid. Check required fields, types, and limits.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"80142ed4-54b7-4441-aab1-4826222e2853":{"description":"The access token is missing, invalid, or expired. Request a new token.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"cb909719-0d6a-4135-a250-54e0ddb1eed0":{"description":"The service account lacks permission for this building or operation.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"2e38421e-0832-4c27-9b18-9d3ebdd84b01":{"description":"The resource does not exist or is not assigned to the service account.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"7f59d9e4-53dc-444e-9c09-6fea8fc8f9b9":{"description":"A rate-limit window is exhausted. Wait, then retry with increasing delays.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"8bc131e9-a455-48e5-b70f-6a551e2c2124":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste an access token from [Create an access token](/products/kode-api/api-reference/authentication/create-an-access-token). Tokens expire, so request a new one if you receive `401`.\n","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"3c38db1c-5cf1-4ba9-986b-d4b0f989fbbf":{"url":"https://api.kodelabs.com/kodeos","description":"KODE API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste an access token from [Create an access token](/products/kode-api/api-reference/authentication/create-an-access-token). Tokens expire, so request a new one if you receive `401`.\n","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Paste an access token from [Create an access token](/products/kode-api/api-reference/authentication/create-an-access-token). Tokens expire, so request a new one if you receive `401`.\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi/kode-api.yaml"},"subdomain":"kodelabs","siteName":"KODE Labs - Product Documentation","title":"Create or update devices in a batch - KODE Labs - Product Documentation","contextualStarterQuestions":[],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"originalFileLocation":"products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";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=\"light\"}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 multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.\">\u003cmeta data-mint-head name=\"application-name\" content=\"KODE Labs - Product 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/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_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/kodelabs/vtcGE1gj2AkAE1l2/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create or update devices in a batch - KODE Labs - Product Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"KODE Labs - Product Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kodelabs.mintlify.site/_mintlify/api/og/v2?division=Devices\u0026amp;title=Create+or+update+devices+in+a+batch\u0026amp;description=Creates+or+updates+multiple+devices+and+their+points.+Matching+device+and+point+identifiers+update+existing+records.+Other+items+create+new+records.\u0026amp;theme=ac252318c016362b89abdbd3\u0026amp;signature=58674992612a0fe174ae851593d335cd9783c5702eb513d6541c0c8a41e0489a\">\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=\"Create or update devices in a batch - KODE Labs - Product Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kodelabs.mintlify.site/_mintlify/api/og/v2?division=Devices\u0026amp;title=Create+or+update+devices+in+a+batch\u0026amp;description=Creates+or+updates+multiple+devices+and+their+points.+Matching+device+and+point+identifiers+update+existing+records.+Other+items+create+new+records.\u0026amp;theme=ac252318c016362b89abdbd3\u0026amp;signature=58674992612a0fe174ae851593d335cd9783c5702eb513d6541c0c8a41e0489a\">\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/kodelabs/vtcGE1gj2AkAE1l2/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"KODE Labs - Product Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#015BFA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kodelabs.com/#organization\",\"name\":\"KODE Labs - Product Documentation\",\"url\":\"https://docs.kodelabs.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kodelabs/YfYud6Al4TM68wc2/logo/logo-light.png?fit=max\u0026auto=format\u0026n=YfYud6Al4TM68wc2\u0026q=85\u0026s=00d4ffd6ad7a592e52856804d1a53d12\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kodelabs.com#website\",\"name\":\"KODE Labs - Product Documentation\",\"url\":\"https://docs.kodelabs.com\",\"publisher\":{\"@id\":\"https://docs.kodelabs.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch#webpage\",\"url\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch\",\"name\":\"Create or update devices in a batch\",\"description\":\"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.\",\"isPartOf\":{\"@id\":\"https://docs.kodelabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API reference\",\"item\":\"https://docs.kodelabs.com/products/kode-api/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Devices\",\"item\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/list-building-devices\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Create or update devices in a batch\",\"item\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch#apireference\",\"headline\":\"Create or update devices in a batch\",\"name\":\"Create or update devices in a batch\",\"description\":\"Creates or updates multiple devices and their points. Matching device and point identifiers update existing records. Other items create new records.\",\"url\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kodelabs.com/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch#webpage\"},\"publisher\":{\"@id\":\"https://docs.kodelabs.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kodelabs.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"KODE Labs - Product Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"KODE Labs - Product Documentation","nav":{"global":{"anchors":[{"anchor":"Home","icon":"house","href":"/"},{"anchor":"What's New","icon":"megaphone","href":"/whats-new/2026/v3.20-november-2026"}]},"products":[{"product":"Cloud BMS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/cloud-bms.svg","description":"Cloud building management, graphics, and control","pages":[{"title":"Cloud BMS","href":"/products/kode-os/get-started/introduction"}]},{"product":"Building BI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/bbi.svg","description":"Dashboards and analytics for building performance","pages":[{"title":"Building BI","href":"/products/building-bi/overview"}]},{"product":"FDD","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/fdd.svg","description":"Fault detection and diagnostics for equipment","pages":[{"title":"FDD","href":"/products/fdd/overview"}]},{"product":"FTT","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/ftt.svg","description":"Automated functional testing and commissioning","pages":[{"title":"FTT","href":"/products/ftt/overview"}]},{"product":"AssetOps","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/assetops.svg","description":"Asset and maintenance operations","pages":[{"title":"AssetOps","href":"/products/assetops/quickstart/overview"}]},{"product":"EnerG","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/enerG.svg","description":"Energy management and sustainability reporting","pages":[{"title":"EnerG","href":"/products/energ/get-started/introduction"}]},{"product":"Launchpad","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/launchpad.svg","description":"Dynamic management for apps, users, and buildings","pages":[{"title":"Launchpad","href":"/products/launchpad/get-started/introduction"}]},{"product":"Mobile app","icon":"https://mintlify.s3.us-west-1.amazonaws.com/kodelabs/images/mobile-app.svg","description":"Monitor and operate buildings from iOS and Android","pages":[{"title":"Mobile app","href":"/products/mobile-app/overview"}]},{"product":"KODE API","icon":"braces","description":"Build services and integrations with KODE OS","groups":[{"group":"Get started","pages":[{"title":"What is the KODE API?","sidebarTitle":"Introduction","icon":"rocket","href":"/products/kode-api"},{"title":"Quickstart","sidebarTitle":"Quickstart","icon":"bolt","href":"/products/kode-api/quickstart"},{"title":"Authenticate with the KODE API","sidebarTitle":"Authentication","icon":"key-round","href":"/products/kode-api/authentication"},{"title":"KODE API fundamentals","sidebarTitle":"API fundamentals","icon":"book-open","href":"/products/kode-api/fundamentals"}]},{"group":"Guides","pages":[{"title":"Ingest device and point data","sidebarTitle":"Ingest device data","icon":"upload","href":"/products/kode-api/guides/ingest-device-data"},{"title":"Write to points","sidebarTitle":"Write to points","icon":"pencil-line","href":"/products/kode-api/guides/write-to-points"},{"title":"Create and manage work orders","sidebarTitle":"Manage work orders","icon":"clipboard-list","href":"/products/kode-api/guides/manage-work-orders"},{"title":"Apply templates to points","sidebarTitle":"Apply templates to points","icon":"tags","href":"/products/kode-api/guides/apply-templates-to-points"},{"title":"Connect your own devices","sidebarTitle":"Connect your devices","icon":"plug","href":"/products/kode-api/guides/connect-your-own-devices"},{"title":"Manage users","sidebarTitle":"Manage users","icon":"users","href":"/products/kode-api/guides/manage-users"},{"title":"Organize devices and points","sidebarTitle":"Organize devices and points","icon":"network","href":"/products/kode-api/guides/organize-devices-and-points"}]},{"group":"API reference","pages":[{"title":"KODE API reference","sidebarTitle":"Introduction","icon":"braces","href":"/products/kode-api/api-reference/introduction"},{"group":"Authentication","pages":[{"title":"Get authorization server metadata","deprecated":null,"version":null,"sidebarTitle":"Get server metadata","openapi":"/openapi/kode-api.yaml get /.well-known/oauth-authorization-server","href":"/products/kode-api/api-reference/authentication/get-authorization-server-metadata"},{"title":"Create an access token","deprecated":null,"version":null,"sidebarTitle":"Create an access token","openapi":"/openapi/kode-api.yaml post /token","href":"/products/kode-api/api-reference/authentication/create-an-access-token"},{"title":"Revoke an access token","deprecated":null,"version":null,"sidebarTitle":"Revoke an access token","openapi":"/openapi/kode-api.yaml post /revoke","href":"/products/kode-api/api-reference/authentication/revoke-an-access-token"}]},{"group":"Buildings and data sources","pages":[{"title":"List buildings","deprecated":null,"version":null,"sidebarTitle":"List buildings","openapi":"/openapi/kode-api.yaml get /api/v1/buildings","href":"/products/kode-api/api-reference/buildings/list-buildings"},{"title":"List building areas","deprecated":null,"version":null,"sidebarTitle":"List building areas","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/areas","href":"/products/kode-api/api-reference/buildings/list-building-areas"},{"title":"List building data sources","deprecated":null,"version":null,"sidebarTitle":"List data sources","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/datasources","href":"/products/kode-api/api-reference/data-sources/list-building-data-sources"},{"title":"Create a building","deprecated":null,"version":null,"sidebarTitle":"Create building","openapi":"/openapi/kode-api.yaml post /api/v1/buildings","href":"/products/kode-api/api-reference/buildings/create-a-building"},{"title":"Get a building","deprecated":null,"version":null,"sidebarTitle":"Get building","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}","href":"/products/kode-api/api-reference/buildings/get-a-building"},{"title":"Update a building","deprecated":null,"version":null,"sidebarTitle":"Update building","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}","href":"/products/kode-api/api-reference/buildings/update-a-building"},{"title":"Get a job","deprecated":null,"version":null,"sidebarTitle":"Get job","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/jobs/{jobId}","href":"/products/kode-api/api-reference/buildings/get-a-job"},{"title":"Set the status of a building","deprecated":null,"version":null,"sidebarTitle":"Set building status","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/status","href":"/products/kode-api/api-reference/buildings/set-the-status-of-a-building"}]},{"group":"Devices","pages":[{"title":"List building devices","deprecated":null,"version":null,"sidebarTitle":"List devices","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/devices","href":"/products/kode-api/api-reference/devices/list-building-devices"},{"title":"Create or update a device","description":"Creates a device and its points. If a device with the same `id` exists, KODE OS updates it instead.","deprecated":null,"version":null,"sidebarTitle":"Upsert a device","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices","href":"/products/kode-api/api-reference/devices/create-or-update-a-device"},{"title":"Create or update devices in a batch","deprecated":null,"version":null,"sidebarTitle":"Upsert devices in a batch","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/batch","href":"/products/kode-api/api-reference/devices/create-or-update-devices-in-a-batch"},{"title":"Delete devices in a batch","description":"Starts a job that permanently deletes up to 1,000 devices and everything that depends on them.","deprecated":null,"version":null,"sidebarTitle":"Batch delete devices","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/devices/batch-delete","href":"/products/kode-api/api-reference/devices/delete-devices-in-a-batch"},{"title":"Update devices in a batch","deprecated":null,"version":null,"sidebarTitle":"Batch update devices","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/devices/batch-update","href":"/products/kode-api/api-reference/devices/update-devices-in-a-batch"},{"title":"Get a device","deprecated":null,"version":null,"sidebarTitle":"Get device","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/devices/{deviceId}","href":"/products/kode-api/api-reference/devices/get-a-device"},{"title":"Update a device","deprecated":null,"version":null,"sidebarTitle":"Update device","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/devices/{deviceId}","href":"/products/kode-api/api-reference/devices/update-a-device"},{"title":"Delete a device","deprecated":null,"version":null,"sidebarTitle":"Delete device","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/devices/{deviceId}","href":"/products/kode-api/api-reference/devices/delete-a-device"},{"title":"List device references","deprecated":null,"version":null,"sidebarTitle":"List references","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/devices/{deviceId}/references","href":"/products/kode-api/api-reference/devices/list-device-references"},{"title":"Add device references","deprecated":null,"version":null,"sidebarTitle":"Add references","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/devices/{deviceId}/references","href":"/products/kode-api/api-reference/devices/add-device-references"},{"title":"Remove device references","deprecated":null,"version":null,"sidebarTitle":"Remove references","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/devices/{deviceId}/references/batch-delete","href":"/products/kode-api/api-reference/devices/remove-device-references"},{"title":"Get device status","deprecated":null,"version":null,"sidebarTitle":"Get status","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/devices/{deviceId}/status","href":"/products/kode-api/api-reference/devices/get-device-status"},{"title":"List device timeseries","deprecated":null,"version":null,"sidebarTitle":"List timeseries","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/devices/{deviceId}/timeseries","href":"/products/kode-api/api-reference/devices/list-device-timeseries"},{"title":"List device write activity","deprecated":null,"version":null,"sidebarTitle":"List write activity","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/devices/{deviceId}/activity","href":"/products/kode-api/api-reference/devices/list-device-write-activity"},{"title":"List device space references","deprecated":null,"version":null,"sidebarTitle":"List space references","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/devices/{deviceId}/space-references","href":"/products/kode-api/api-reference/devices/list-device-space-references"},{"title":"Add device space references","deprecated":null,"version":null,"sidebarTitle":"Add space references","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/devices/{deviceId}/space-references","href":"/products/kode-api/api-reference/devices/add-device-space-references"},{"title":"Remove device space references","deprecated":null,"version":null,"sidebarTitle":"Remove space references","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/devices/{deviceId}/space-references/batch-delete","href":"/products/kode-api/api-reference/devices/remove-device-space-references"}]},{"group":"Points","pages":[{"title":"List building points","deprecated":null,"version":null,"sidebarTitle":"List points","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/points","href":"/products/kode-api/api-reference/points/list-building-points"},{"title":"Query points by identifier","deprecated":null,"version":null,"sidebarTitle":"Query points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/points/query","href":"/products/kode-api/api-reference/points/query-points-by-identifier"},{"title":"List point write fields","deprecated":null,"version":null,"sidebarTitle":"List write fields","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/{deviceId}/points/{pointId}/fields","href":"/products/kode-api/api-reference/points/list-point-write-fields"},{"title":"Write to a point","deprecated":null,"version":null,"sidebarTitle":"Write to a point","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/{deviceId}/points/{pointId}/write","href":"/products/kode-api/api-reference/points/write-to-a-point"},{"title":"Write to points in a batch","deprecated":null,"version":null,"sidebarTitle":"Batch write points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/points/batch-write","href":"/products/kode-api/api-reference/points/write-to-points-in-a-batch"},{"title":"List point write activity","deprecated":null,"version":null,"sidebarTitle":"List write activity","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/points/{pointId}/activity","href":"/products/kode-api/api-reference/points/list-point-write-activity"},{"title":"Get point priority array","deprecated":null,"version":null,"sidebarTitle":"Get priority array","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/points/{pointId}/priority-array","href":"/products/kode-api/api-reference/points/get-point-priority-array"},{"title":"Get point write state","deprecated":null,"version":null,"sidebarTitle":"Get write state","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/points/{pointId}/write-state","href":"/products/kode-api/api-reference/points/get-point-write-state"},{"title":"Delete points in a batch","deprecated":null,"version":null,"sidebarTitle":"Batch delete points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/points/batch-delete","href":"/products/kode-api/api-reference/points/delete-points-in-a-batch"},{"title":"Update points in a batch","deprecated":null,"version":null,"sidebarTitle":"Batch update points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/points/batch-update","href":"/products/kode-api/api-reference/points/update-points-in-a-batch"},{"title":"List point copies","deprecated":null,"version":null,"sidebarTitle":"List point copies","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/points/copies","href":"/products/kode-api/api-reference/points/list-point-copies"},{"title":"Copy points to devices","deprecated":null,"version":null,"sidebarTitle":"Copy points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/points/copies","href":"/products/kode-api/api-reference/points/copy-points-to-devices"},{"title":"Get a point","deprecated":null,"version":null,"sidebarTitle":"Get point","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/points/{pointId}","href":"/products/kode-api/api-reference/points/get-a-point"},{"title":"Update a point","deprecated":null,"version":null,"sidebarTitle":"Update point","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/points/{pointId}","href":"/products/kode-api/api-reference/points/update-a-point"},{"title":"Delete a point","deprecated":null,"version":null,"sidebarTitle":"Delete point","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/points/{pointId}","href":"/products/kode-api/api-reference/points/delete-a-point"}]},{"group":"Timeseries","pages":[{"title":"List point timeseries","deprecated":null,"version":null,"sidebarTitle":"List point timeseries","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/timeseries","href":"/products/kode-api/api-reference/timeseries/list-point-timeseries"},{"title":"List latest point values","deprecated":null,"version":null,"sidebarTitle":"List latest point values","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/timeseries/last","href":"/products/kode-api/api-reference/timeseries/list-latest-point-values"},{"title":"Send timeseries for a data source","deprecated":null,"version":null,"sidebarTitle":"Send data source values","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/timeseries","href":"/products/kode-api/api-reference/timeseries/send-timeseries-for-a-data-source"},{"title":"Send timeseries for a device","deprecated":null,"version":null,"sidebarTitle":"Send device values","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/{deviceId}/timeseries","href":"/products/kode-api/api-reference/timeseries/send-timeseries-for-a-device"},{"title":"Send historical values for a point","deprecated":null,"version":null,"sidebarTitle":"Send point history","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/devices/{deviceId}/points/{pointId}/timeseries","href":"/products/kode-api/api-reference/timeseries/send-historical-values-for-a-point"}]},{"group":"Actions","pages":[{"title":"List data source actions","deprecated":null,"version":null,"sidebarTitle":"List actions","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/actions","href":"/products/kode-api/api-reference/actions/list-data-source-actions"},{"title":"List action fields","deprecated":null,"version":null,"sidebarTitle":"List action fields","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/actions/{action}/fields","href":"/products/kode-api/api-reference/actions/list-action-fields"},{"title":"Invoke an action","deprecated":null,"version":null,"sidebarTitle":"Invoke an action","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/integrations/datasources/{datasourceId}/actions/{action}/invoke","href":"/products/kode-api/api-reference/actions/invoke-an-action"}]},{"group":"Work orders","pages":[{"title":"List work orders","deprecated":null,"version":null,"sidebarTitle":"List work orders","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders","href":"/products/kode-api/api-reference/work-orders/list-work-orders"},{"title":"Create a work order","deprecated":null,"version":null,"sidebarTitle":"Create a work order","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/assetops/work-orders","href":"/products/kode-api/api-reference/work-orders/create-a-work-order"},{"title":"Get a work order","deprecated":null,"version":null,"sidebarTitle":"Get a work order","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/{workOrderId}","href":"/products/kode-api/api-reference/work-orders/get-a-work-order"},{"title":"Update a work order","deprecated":null,"version":null,"sidebarTitle":"Update a work order","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/assetops/work-orders/{workOrderId}","href":"/products/kode-api/api-reference/work-orders/update-a-work-order"},{"title":"Upload attachments","deprecated":null,"version":null,"sidebarTitle":"Upload attachments","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/assetops/work-orders/{workOrderId}/attachments","href":"/products/kode-api/api-reference/work-orders/upload-attachments"},{"title":"Upload base64 attachments","deprecated":null,"version":null,"sidebarTitle":"Upload base64 attachments","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/assetops/work-orders/{workOrderId}/attachments/base64","href":"/products/kode-api/api-reference/work-orders/upload-base64-attachments"},{"title":"List work order comments","deprecated":null,"version":null,"sidebarTitle":"List comments","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/{workOrderId}/comments","href":"/products/kode-api/api-reference/work-orders/list-work-order-comments"},{"title":"List building comments","deprecated":null,"version":null,"sidebarTitle":"List building comments","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/comments","href":"/products/kode-api/api-reference/work-orders/list-building-comments"}]},{"group":"Work order lookups","pages":[{"title":"List categories and issue types","deprecated":null,"version":null,"sidebarTitle":"List categories and issue types","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/potential-category-issue-types","href":"/products/kode-api/api-reference/work-orders/list-categories-and-issue-types"},{"title":"List priorities","deprecated":null,"version":null,"sidebarTitle":"List priorities","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/potential-priorities","href":"/products/kode-api/api-reference/work-orders/list-priorities"},{"title":"List vendors","deprecated":null,"version":null,"sidebarTitle":"List vendors","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/potential-vendors","href":"/products/kode-api/api-reference/work-orders/list-vendors"},{"title":"List teams","deprecated":null,"version":null,"sidebarTitle":"List teams","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/potential-teams","href":"/products/kode-api/api-reference/work-orders/list-teams"},{"title":"List assignees","deprecated":null,"version":null,"sidebarTitle":"List assignees","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/assetops/work-orders/potential-assignees","href":"/products/kode-api/api-reference/work-orders/list-assignees"}]},{"group":"Connectors","pages":[{"title":"List connectors","deprecated":null,"version":null,"sidebarTitle":"List connectors","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/connectors","href":"/products/kode-api/api-reference/connectors/list-connectors"},{"title":"Create a KODE API connector","deprecated":null,"version":null,"sidebarTitle":"Create connector","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/connectors/kode-api","href":"/products/kode-api/api-reference/connectors/create-a-kode-api-connector"},{"title":"Get a connector","deprecated":null,"version":null,"sidebarTitle":"Get connector","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/connectors/{connectorId}","href":"/products/kode-api/api-reference/connectors/get-a-connector"},{"title":"Ingest devices through a connector","deprecated":null,"version":null,"sidebarTitle":"Ingest devices","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/connectors/{connectorId}/ingest/devices","href":"/products/kode-api/api-reference/connectors/ingest-devices-through-a-connector"},{"title":"Ingest points through a connector","deprecated":null,"version":null,"sidebarTitle":"Ingest points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/connectors/{connectorId}/ingest/points","href":"/products/kode-api/api-reference/connectors/ingest-points-through-a-connector"},{"title":"Get connector status","deprecated":null,"version":null,"sidebarTitle":"Connector status","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/connectors/{connectorId}/status","href":"/products/kode-api/api-reference/connectors/get-connector-status"}]},{"group":"Schedules","pages":[{"title":"List schedules","deprecated":null,"version":null,"sidebarTitle":"List schedules","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/schedules","href":"/products/kode-api/api-reference/schedules/list-schedules"},{"title":"Get a schedule","deprecated":null,"version":null,"sidebarTitle":"Get a schedule","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/schedules/{scheduleId}","href":"/products/kode-api/api-reference/schedules/get-a-schedule"},{"title":"List schedule points","deprecated":null,"version":null,"sidebarTitle":"List schedule points","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/schedules/{scheduleId}/points","href":"/products/kode-api/api-reference/schedules/list-schedule-points"}]},{"group":"Templating","pages":[{"title":"Get a templating operation","deprecated":null,"version":null,"sidebarTitle":"Get operation","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/templating/operations/{operationId}","href":"/products/kode-api/api-reference/templating/get-a-templating-operation"},{"title":"Discover templating point groups","deprecated":null,"version":null,"sidebarTitle":"Discover point groups","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/templating/point-groups/query","href":"/products/kode-api/api-reference/templating/discover-templating-point-groups"},{"title":"List points in a point group","deprecated":null,"version":null,"sidebarTitle":"List group points","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/templating/point-groups/{groupKey}/points","href":"/products/kode-api/api-reference/templating/list-points-in-a-point-group"},{"title":"Apply a templating plan","deprecated":null,"version":null,"sidebarTitle":"Apply plan","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/templating:apply","href":"/products/kode-api/api-reference/templating/apply-a-templating-plan"},{"title":"Clear a templating plan","deprecated":null,"version":null,"sidebarTitle":"Clear plan","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/templating:clear","href":"/products/kode-api/api-reference/templating/clear-a-templating-plan"}]},{"group":"Mass write","pages":[{"title":"Discover mass write point groups","deprecated":null,"version":null,"sidebarTitle":"Discover point groups","openapi":"/openapi/kode-api.yaml post /api/v1/mass-write/point-groups/query","href":"/products/kode-api/api-reference/mass-write/discover-mass-write-point-groups"},{"title":"Validate or apply a mass write","deprecated":null,"version":null,"sidebarTitle":"Validate or apply","openapi":"/openapi/kode-api.yaml post /api/v1/mass-write/points:apply","href":"/products/kode-api/api-reference/mass-write/validate-or-apply-a-mass-write"},{"title":"List mass write operations","deprecated":null,"version":null,"sidebarTitle":"List operations","openapi":"/openapi/kode-api.yaml get /api/v1/mass-write/operations","href":"/products/kode-api/api-reference/mass-write/list-mass-write-operations"},{"title":"Get a mass write operation","deprecated":null,"version":null,"sidebarTitle":"Get operation","openapi":"/openapi/kode-api.yaml get /api/v1/mass-write/operations/{operationId}","href":"/products/kode-api/api-reference/mass-write/get-a-mass-write-operation"},{"title":"List mass write results","deprecated":null,"version":null,"sidebarTitle":"List results","openapi":"/openapi/kode-api.yaml get /api/v1/mass-write/operations/{operationId}/results","href":"/products/kode-api/api-reference/mass-write/list-mass-write-results"},{"title":"Retry a mass write operation","deprecated":null,"version":null,"sidebarTitle":"Retry operation","openapi":"/openapi/kode-api.yaml post /api/v1/mass-write/operations/{operationId}:retry","href":"/products/kode-api/api-reference/mass-write/retry-a-mass-write-operation"}]},{"group":"Virtual devices","pages":[{"title":"Create a virtual device","deprecated":null,"version":null,"sidebarTitle":"Create virtual device","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/virtual-devices","href":"/products/kode-api/api-reference/virtual-devices/create-a-virtual-device"},{"title":"Attach points to a virtual device","deprecated":null,"version":null,"sidebarTitle":"Attach points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/virtual-devices/{virtualDeviceId}/points","href":"/products/kode-api/api-reference/virtual-devices/attach-points-to-a-virtual-device"},{"title":"Detach points from a virtual device","deprecated":null,"version":null,"sidebarTitle":"Detach points","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/virtual-devices/{virtualDeviceId}/points/batch-delete","href":"/products/kode-api/api-reference/virtual-devices/detach-points-from-a-virtual-device"}]},{"group":"Spaces","pages":[{"title":"List spaces","deprecated":null,"version":null,"sidebarTitle":"List spaces","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/spaces","href":"/products/kode-api/api-reference/spaces/list-spaces"},{"title":"Create a space","deprecated":null,"version":null,"sidebarTitle":"Create space","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/spaces","href":"/products/kode-api/api-reference/spaces/create-a-space"},{"title":"Get a space","deprecated":null,"version":null,"sidebarTitle":"Get space","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/spaces/{spaceId}","href":"/products/kode-api/api-reference/spaces/get-a-space"},{"title":"Update a space","deprecated":null,"version":null,"sidebarTitle":"Update space","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/spaces/{spaceId}","href":"/products/kode-api/api-reference/spaces/update-a-space"},{"title":"Create levels","deprecated":null,"version":null,"sidebarTitle":"Create levels","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/spaces/levels","href":"/products/kode-api/api-reference/spaces/create-levels"},{"title":"Create space units","deprecated":null,"version":null,"sidebarTitle":"Create space units","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/spaces/space-units","href":"/products/kode-api/api-reference/spaces/create-space-units"},{"title":"Update spaces in a batch","deprecated":null,"version":null,"sidebarTitle":"Update spaces in batch","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/spaces/batchUpdate","href":"/products/kode-api/api-reference/spaces/update-spaces-in-a-batch"},{"title":"List meters of a space","deprecated":null,"version":null,"sidebarTitle":"List space meters","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/spaces/{spaceId}/meters","href":"/products/kode-api/api-reference/spaces/list-meters-of-a-space"}]},{"group":"Space assignments","pages":[{"title":"List space assignments","deprecated":null,"version":null,"sidebarTitle":"List assignments","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/space-assignments","href":"/products/kode-api/api-reference/space-assignments/list-space-assignments"},{"title":"Create a space assignment","deprecated":null,"version":null,"sidebarTitle":"Create assignment","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/space-assignments","href":"/products/kode-api/api-reference/space-assignments/create-a-space-assignment"},{"title":"Get a space assignment","deprecated":null,"version":null,"sidebarTitle":"Get assignment","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/space-assignments/{assignmentId}","href":"/products/kode-api/api-reference/space-assignments/get-a-space-assignment"},{"title":"Update a space assignment","deprecated":null,"version":null,"sidebarTitle":"Update assignment","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/space-assignments/{assignmentId}","href":"/products/kode-api/api-reference/space-assignments/update-a-space-assignment"},{"title":"Delete a space assignment","deprecated":null,"version":null,"sidebarTitle":"Delete assignment","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/space-assignments/{assignmentId}","href":"/products/kode-api/api-reference/space-assignments/delete-a-space-assignment"},{"title":"List assignments of a space","deprecated":null,"version":null,"sidebarTitle":"List by space","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/space-assignments/spaces/{spaceId}/assignments","href":"/products/kode-api/api-reference/space-assignments/list-assignments-of-a-space"},{"title":"List assignments of a tenant","deprecated":null,"version":null,"sidebarTitle":"List by tenant","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/space-assignments/tenants/{tenantId}/assignments","href":"/products/kode-api/api-reference/space-assignments/list-assignments-of-a-tenant"}]},{"group":"Tenants","pages":[{"title":"List tenants","deprecated":null,"version":null,"sidebarTitle":"List tenants","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/tenants","href":"/products/kode-api/api-reference/tenants/list-tenants"},{"title":"Create a tenant","deprecated":null,"version":null,"sidebarTitle":"Create tenant","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/tenants","href":"/products/kode-api/api-reference/tenants/create-a-tenant"},{"title":"Get a tenant","deprecated":null,"version":null,"sidebarTitle":"Get tenant","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/tenants/{tenantId}","href":"/products/kode-api/api-reference/tenants/get-a-tenant"},{"title":"Update a tenant","deprecated":null,"version":null,"sidebarTitle":"Update tenant","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/tenants/{tenantId}","href":"/products/kode-api/api-reference/tenants/update-a-tenant"},{"title":"Delete a tenant","deprecated":null,"version":null,"sidebarTitle":"Delete tenant","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/tenants/{tenantId}","href":"/products/kode-api/api-reference/tenants/delete-a-tenant"}]},{"group":"Meters","pages":[{"title":"List meters","deprecated":null,"version":null,"sidebarTitle":"List meters","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/meters","href":"/products/kode-api/api-reference/meters/list-meters"},{"title":"Get a meter","deprecated":null,"version":null,"sidebarTitle":"Get meter","openapi":"/openapi/kode-api.yaml get /api/v1/buildings/{buildingId}/meters/{meterId}","href":"/products/kode-api/api-reference/meters/get-a-meter"},{"title":"Update a meter","deprecated":null,"version":null,"sidebarTitle":"Update meter","openapi":"/openapi/kode-api.yaml put /api/v1/buildings/{buildingId}/meters/{meterId}","href":"/products/kode-api/api-reference/meters/update-a-meter"},{"title":"Delete a meter","deprecated":null,"version":null,"sidebarTitle":"Delete meter","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/meters/{meterId}","href":"/products/kode-api/api-reference/meters/delete-a-meter"},{"title":"Assign a meter to a space","deprecated":null,"version":null,"sidebarTitle":"Assign meter","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/meters/assignments","href":"/products/kode-api/api-reference/meters/assign-a-meter-to-a-space"},{"title":"Remove a meter assignment","deprecated":null,"version":null,"sidebarTitle":"Remove assignment","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/meters/{meterId}/assignments/{spaceId}","href":"/products/kode-api/api-reference/meters/remove-a-meter-assignment"},{"title":"Link child meters to a parent meter","deprecated":null,"version":null,"sidebarTitle":"Link child meters","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/meters/references","href":"/products/kode-api/api-reference/meters/link-child-meters-to-a-parent-meter"},{"title":"Unlink a child meter","deprecated":null,"version":null,"sidebarTitle":"Unlink child meter","openapi":"/openapi/kode-api.yaml delete /api/v1/buildings/{buildingId}/meters/{parentMeterId}/references/{childMeterId}","href":"/products/kode-api/api-reference/meters/unlink-a-child-meter"},{"title":"List meter readings","deprecated":null,"version":null,"sidebarTitle":"List readings","openapi":"/openapi/kode-api.yaml post /api/v1/buildings/{buildingId}/meters/{meterId}/readings","href":"/products/kode-api/api-reference/meters/list-meter-readings"}]},{"group":"Ontology","pages":[{"title":"List canonical types","deprecated":null,"version":null,"sidebarTitle":"List canonical types","openapi":"/openapi/kode-api.yaml get /api/v1/ontology/canonical-types","href":"/products/kode-api/api-reference/ontology/list-canonical-types"},{"title":"List connections for a canonical type","deprecated":null,"version":null,"sidebarTitle":"List type connections","openapi":"/openapi/kode-api.yaml get /api/v1/ontology/canonical-types/{canonicalType}/connections","href":"/products/kode-api/api-reference/ontology/list-connections-for-a-canonical-type"},{"title":"List fields for a canonical type","deprecated":null,"version":null,"sidebarTitle":"List fields","openapi":"/openapi/kode-api.yaml get /api/v1/ontology/canonical-types/{canonicalType}/fields","href":"/products/kode-api/api-reference/ontology/list-fields-for-a-canonical-type"},{"title":"List connection keys","deprecated":null,"version":null,"sidebarTitle":"List connection keys","openapi":"/openapi/kode-api.yaml get /api/v1/ontology/connections","href":"/products/kode-api/api-reference/ontology/list-connection-keys"},{"title":"List units by category","deprecated":null,"version":null,"sidebarTitle":"List units","openapi":"/openapi/kode-api.yaml get /api/v1/ontology/units","href":"/products/kode-api/api-reference/ontology/list-units-by-category"}]},{"group":"Users","pages":[{"title":"List users","deprecated":null,"version":null,"sidebarTitle":"List users","openapi":"/openapi/kode-api.yaml get /api/v1/users","href":"/products/kode-api/api-reference/users/list-users"},{"title":"Create a user","deprecated":null,"version":null,"sidebarTitle":"Create user","openapi":"/openapi/kode-api.yaml post /api/v1/users","href":"/products/kode-api/api-reference/users/create-a-user"},{"title":"Invite a user","deprecated":null,"version":null,"sidebarTitle":"Invite user","openapi":"/openapi/kode-api.yaml post /api/v1/users/invite","href":"/products/kode-api/api-reference/users/invite-a-user"},{"title":"Get a user","deprecated":null,"version":null,"sidebarTitle":"Get user","openapi":"/openapi/kode-api.yaml get /api/v1/users/{userId}","href":"/products/kode-api/api-reference/users/get-a-user"},{"title":"Update a user","deprecated":null,"version":null,"sidebarTitle":"Update user","openapi":"/openapi/kode-api.yaml put /api/v1/users/{userId}","href":"/products/kode-api/api-reference/users/update-a-user"},{"title":"Delete a user","deprecated":null,"version":null,"sidebarTitle":"Delete user","openapi":"/openapi/kode-api.yaml delete /api/v1/users/{userId}","href":"/products/kode-api/api-reference/users/delete-a-user"},{"title":"Update the status of a user","deprecated":null,"version":null,"sidebarTitle":"Update status","openapi":"/openapi/kode-api.yaml put /api/v1/users/{userId}/status","href":"/products/kode-api/api-reference/users/update-the-status-of-a-user"},{"title":"Assign an app to a user","deprecated":null,"version":null,"sidebarTitle":"Assign app","openapi":"/openapi/kode-api.yaml post /api/v1/users/{userId}/apps/{appId}","href":"/products/kode-api/api-reference/users/assign-an-app-to-a-user"},{"title":"Update the KODE OS role of a user","deprecated":null,"version":null,"sidebarTitle":"Update KODE OS role","openapi":"/openapi/kode-api.yaml put /api/v1/users/{userId}/apps/{appId}","href":"/products/kode-api/api-reference/users/update-the-kode-os-role-of-a-user"},{"title":"Remove app access from a user","deprecated":null,"version":null,"sidebarTitle":"Remove app access","openapi":"/openapi/kode-api.yaml delete /api/v1/users/{userId}/apps/{appId}","href":"/products/kode-api/api-reference/users/remove-app-access-from-a-user"}]}]}]},{"product":"Integrations","icon":"cable","description":"Connect 200+ building systems to KODE OS","pages":[{"title":"Integrations","href":"/products/integrations/get-started/introduction"}]},{"product":"What's New","icon":"megaphone","description":"KODE platform release notes and updates","pages":[{"title":"What's New","href":"/whats-new/2026/v3.20-november-2026"}]}]},"basePath":"","title":"Create or update devices in a batch - KODE Labs - Product Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-DV-WToSZ.js","dist-CBUH0-zX.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-CR-RHrVC.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","AssistantPageLink-BmARFYNC.js"]}