Update the inventory data of MULTIPLE devices in one call — the batch form of updateDevice, with the same fields and the same rules per device. Provide a list of items, each targeting one deviceId (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a results manifest reporting ok / error per device — always inspect results rather than relying on the HTTP status to detect partial failures. Prefer this over calling updateDevice once per device; use updateDevice for a single device, when you want the updated device back or a failure to surface as an HTTP error.
Device updates to apply. Each item targets one deviceId, which must be unique within the batch, and carries the same fields as updateDevice. Up to 100 items per call. Writes are best-effort: inspect the per-item results to learn which succeeded — the HTTP status is 200 even when some items fail.
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Primo Documentation","colors":{"primary":"#232D32","light":"#8D9AA1","dark":"#141A1E"},"logo":{"light":"https://mintcdn.com/primo/ScCUJrxVXMw2Xoed/logo/light.svg?fit=max\u0026auto=format\u0026n=ScCUJrxVXMw2Xoed\u0026q=85\u0026s=768eec9f1a23fe9fa9696734ed4a9a92","dark":"https://mintcdn.com/primo/ScCUJrxVXMw2Xoed/logo/dark.svg?fit=max\u0026auto=format\u0026n=ScCUJrxVXMw2Xoed\u0026q=85\u0026s=bff005d415af04ec8f45e24102265641"},"favicon":"https://mintcdn.com/primo/5V4RjqQ8usvnl1zn/images/icon_webclipPrimo@2x2.png?fit=max\u0026auto=format\u0026n=5V4RjqQ8usvnl1zn\u0026q=85\u0026s=31eefefb479d386832d2f2fdbdfb99ed","api":{"playground":{"display":"interactive","proxy":false}},"appearance":{"default":"system"},"background":{"color":{"light":"#FAFAFA","dark":"#141A1E"}},"seo":{"indexing":"navigable"},"fonts":{"family":"Oracle","weight":400,"source":"https://cdn.prod.website-files.com/6410a18d09fd5347adff42aa/6410c8db766e96df6861fa52_ABCOracleVariable.woff","format":"woff"},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":""}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"primo","hasAudioNarration":false,"actualSubdomain":"primo","customDomains":["docs.getprimo.com"],"gitSource":{"type":"github","owner":"getprimo","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af5a42d9b695fda38d39e80","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"en","tag":"Developers","count":284},{"language":"en","tag":"API Reference","count":281},{"language":"en","tag":"Documentation","count":137},{"language":"en","tag":"Device Management","count":86},{"language":"en","tag":"Devices","count":64},{"language":"en","tag":"Saas","count":43},{"language":"en","tag":"Onboardings","count":25},{"language":"en","tag":"Controls","count":25},{"language":"en","tag":"Offboardings","count":21},{"language":"en","tag":"Changelog","count":20}],"searchSettings":{"showContentSnippets":true,"isFiltersEnabled":false}},"assistantConfig":{"deflection":{"enabled":true,"email":"support@getprimo.com","showHelpButton":true}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"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}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"#content-area{max-width:50rem}.badge-read{background:#0F766E;color:#fff;padding:2px 8px;border-radius:4px;font-size:0.75rem;font-weight:600;margin-right:4px;display:inline-block}.badge-write{background:#B42318;color:#fff;padding:2px 8px;border-radius:4px;font-size:0.75rem;font-weight:600;margin-right:4px;display:inline-block}.badge-company{background:#0284C7;color:#fff;padding:2px 8px;border-radius:4px;font-size:0.75rem;font-weight:600;margin-right:4px;display:inline-block}.badge-workspace{background:#6366F1;color:#fff;padding:2px 8px;border-radius:4px;font-size:0.75rem;font-weight:600;margin-right:4px;display:inline-block}.primo-hero-pattern{background:url(\"/images/home/hero-pattern-light.svg\") right top / 760px 640px no-repeat}.dark .primo-hero-pattern{background-image:url(\"/images/home/hero-pattern-dark.svg\")}@media (max-width: 1023px){.primo-hero-pattern{display:none}}.update-container:has(.changelog-same-day) [data-component-part=\"update-label\"],.update-container:has(.changelog-same-day) a[href^=\"#\"][aria-label^=\"Navigate to changelog\"],.changelog-same-day{display:none}[data-component-part=\"update-content\"]>.changelog-same-day+*{margin-top:0}@media (min-width: 1024px){.update-container [data-component-part=\"update-label\"]{margin-top:2.5px}.update-container:has(.changelog-same-day) [data-component-part=\"update-tag-list\"]{margin-top:6.5px}}"}],"page":{"pagePath":"api-reference/devices/update-several-devices","slug":"/api-reference/devices/update-several-devices","pageMetadata":{"title":"Update several devices","description":"Update the inventory data of MULTIPLE devices in one call — the batch form of `updateDevice`, with the same fields and the same rules per device. Provide a list of `items`, each targeting one `deviceId` (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a `results` manifest reporting `ok` / `error` per device — always inspect `results` rather than relying on the HTTP status to detect partial failures. Prefer this over calling `updateDevice` once per device; use `updateDevice` for a single device, when you want the updated device back or a failure to surface as an HTTP error.","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /devices","href":"/api-reference/devices/update-several-devices","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Update the inventory data of MULTIPLE devices in one call — the batch form of \", _jsx(_components.code, {\n children: \"updateDevice\"\n }), \", with the same fields and the same rules per device. Provide a list of \", _jsx(_components.code, {\n children: \"items\"\n }), \", each targeting one \", _jsx(_components.code, {\n children: \"deviceId\"\n }), \" (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a \", _jsx(_components.code, {\n children: \"results\"\n }), \" manifest reporting \", _jsx(_components.code, {\n children: \"ok\"\n }), \" / \", _jsx(_components.code, {\n children: \"error\"\n }), \" per device — always inspect \", _jsx(_components.code, {\n children: \"results\"\n }), \" rather than relying on the HTTP status to detect partial failures. Prefer this over calling \", _jsx(_components.code, {\n children: \"updateDevice\"\n }), \" once per device; use \", _jsx(_components.code, {\n children: \"updateDevice\"\n }), \" for a single device, when you want the updated device back or a failure to surface as an HTTP error.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsxs(_Fragment,{children:[_jsx(`span`,{className:`badge-write`,children:`Key: Write`}),`\n`,_jsx(`span`,{className:`badge-company`,children:`Scope: Company`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Update several devices","description":"Update the inventory data of MULTIPLE devices in one call — the batch form of `updateDevice`, with the same fields and the same rules per device. Provide a list of `items`, each targeting one `deviceId` (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a `results` manifest reporting `ok` / `error` per device — always inspect `results` rather than relying on the HTTP status to detect partial failures. Prefer this over calling `updateDevice` once per device; use `updateDevice` for a single device, when you want the updated device back or a failure to surface as an HTTP error.","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /devices","href":"/api-reference/devices/update-several-devices","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Update the inventory data of MULTIPLE devices in one call — the batch form of `updateDevice`, with the same fields and the same rules per device. Provide a list of `items`, each targeting one `deviceId` (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a `results` manifest reporting `ok` / `error` per device — always inspect `results` rather than relying on the HTTP status to detect partial failures. Prefer this over calling `updateDevice` once per device; use `updateDevice` for a single device, when you want the updated device back or a failure to surface as an HTTP error.","operationId":"updateDevices","parameters":[],"requestBody":"73404724-2be7-46d9-a60d-3b8c2402ab02","responses":{"default":"d11a84fa-b982-4836-8aec-8ea4e84e113f"},"summary":"Update several devices","tags":["Devices"],"x-primo-access-level":"write","x-primo-access-scope":["company"],"x-badges":[{"name":"Key: Write","className":"badge-write","color":"#B42318"},{"name":"Scope: Company","className":"badge-company","color":"#0284C7"}],"x-mint":{"content":"\u003cspan className=\"badge-write\">Key: Write\u003c/span>\u003cspan className=\"badge-company\">Scope: Company\u003c/span>"},"method":"patch","type":"path","servers":["d8df4621-75ba-4a57-858d-6b74ec7aab9a"],"security":["913b394e-3938-4eb1-96d5-bfbfee2ab8b4"],"path":"/devices","baseUrlOptions":["https://api.getprimo.com"],"title":"Update several devices","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"description":"Device updates to apply. Each item targets one `deviceId`, which must be unique within the batch, and carries the same fields as `updateDevice`. Up to 100 items per call. Writes are best-effort: inspect the per-item `results` to learn which succeeded — the HTTP status is 200 even when some items fail.","minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"deviceId":{"description":"Device id to update.","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].deviceId","typeLabel":"string"},"purchaseDate":{"oneOf":[{"type":"string","description":"Date the device was purchased, as an ISO 8601 date (YYYY-MM-DD) or datetime","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","uniqueKey":"\\items.items.[INDEX].purchaseDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"string","description":"Date the device was purchased, as an ISO 8601 date (YYYY-MM-DD) or datetime","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","uniqueKey":"\\items.items.[INDEX].purchaseDate.oneOf.1","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Date the device was purchased, as an ISO 8601 date (YYYY-MM-DD) or datetime","uniqueKey":"\\items.items.[INDEX].purchaseDate.oneOf.2","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].purchaseDate","typeLabel":"string\u003cdate> | string\u003cdate-time> | null"},"decommissioningDate":{"oneOf":[{"type":"string","description":"Date the device was decommissioned, as an ISO 8601 date (YYYY-MM-DD) or datetime","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$","uniqueKey":"\\items.items.[INDEX].decommissioningDate.oneOf.0","typeLabel":"string\u003cdate>"},{"type":"string","description":"Date the device was decommissioned, as an ISO 8601 date (YYYY-MM-DD) or datetime","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$","uniqueKey":"\\items.items.[INDEX].decommissioningDate.oneOf.1","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"Date the device was decommissioned, as an ISO 8601 date (YYYY-MM-DD) or datetime","uniqueKey":"\\items.items.[INDEX].decommissioningDate.oneOf.2","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].decommissioningDate","typeLabel":"string\u003cdate> | string\u003cdate-time> | null"},"purchasePriceNoVAT":{"oneOf":[{"type":"integer","description":"Purchase price excluding VAT, in cents","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"\\items.items.[INDEX].purchasePriceNoVAT.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Purchase price excluding VAT, in cents","uniqueKey":"\\items.items.[INDEX].purchasePriceNoVAT.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].purchasePriceNoVAT","typeLabel":"integer | null"},"ownerId":{"oneOf":[{"type":"string","description":"ID of the employee this device is assigned to. Null unassigns it. Must be an employee of your company.","pattern":"^[a-f\\d]{24}$","uniqueKey":"\\items.items.[INDEX].ownerId.oneOf.0","typeLabel":"string"},{"type":"null","description":"ID of the employee this device is assigned to. Null unassigns it. Must be an employee of your company.","uniqueKey":"\\items.items.[INDEX].ownerId.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].ownerId","typeLabel":"string | null"},"name":{"description":"Display name of the device. Cannot be emptied. Rejected when a device naming MDM control drives the name. On Windows and Linux, letters, digits and hyphens only, starting and ending with a letter or a digit.","type":"string","minLength":1,"uniqueKey":"\\items.items.[INDEX].name","typeLabel":"string"},"assetId":{"oneOf":[{"type":"string","description":"Asset tag recorded by the company. Free text, null clears it.","uniqueKey":"\\items.items.[INDEX].assetId.oneOf.0","typeLabel":"string"},{"type":"null","description":"Asset tag recorded by the company. Free text, null clears it.","uniqueKey":"\\items.items.[INDEX].assetId.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].assetId","typeLabel":"string | null"},"condition":{"oneOf":[{"type":"string","description":"Physical condition of the device. One of BROKEN, FAIR, GOOD, EXCELLENT.","enum":["BROKEN","FAIR","GOOD","EXCELLENT"],"uniqueKey":"\\items.items.[INDEX].condition.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Physical condition of the device. One of BROKEN, FAIR, GOOD, EXCELLENT.","uniqueKey":"\\items.items.[INDEX].condition.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].condition","typeLabel":"enum\u003cstring> | null"},"keyboardLayout":{"oneOf":[{"type":"string","description":"Keyboard layout of the device, e.g. FRENCH, US_ENGLISH — see the enum for the full list.","enum":["FRENCH","US_ENGLISH","ARABIC","CHINESE_PINYIN","CHINESE_ZHUYIN","DANISH","DUTCH","GERMAN","INTERNATIONAL_ENGLISH","ITALIAN","NORWEGIAN","PORTUGUESE","RUSSIAN","SPANISH","SPANISH_LATIN_AMERICA","SWEDISH","SWISS","TURKISH","UK_ENGLISH","UKRAINIAN","HEBREW","MACEDONIAN","JAPANESE_JIS"],"uniqueKey":"\\items.items.[INDEX].keyboardLayout.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Keyboard layout of the device, e.g. FRENCH, US_ENGLISH — see the enum for the full list.","uniqueKey":"\\items.items.[INDEX].keyboardLayout.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].keyboardLayout","typeLabel":"enum\u003cstring> | null"},"inchScreenSize":{"oneOf":[{"type":"number","description":"Screen size in inches, e.g. 14 or 13.6.","uniqueKey":"\\items.items.[INDEX].inchScreenSize.oneOf.0","typeLabel":"number"},{"type":"null","description":"Screen size in inches, e.g. 14 or 13.6.","uniqueKey":"\\items.items.[INDEX].inchScreenSize.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].inchScreenSize","typeLabel":"number | null"},"brand":{"oneOf":[{"type":"string","description":"Brand or manufacturer name, e.g. \"APPLE\", \"LENOVO\".","uniqueKey":"\\items.items.[INDEX].brand.oneOf.0","typeLabel":"string"},{"type":"null","description":"Brand or manufacturer name, e.g. \"APPLE\", \"LENOVO\".","uniqueKey":"\\items.items.[INDEX].brand.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].brand","typeLabel":"string | null"},"modelName":{"oneOf":[{"type":"string","description":"Commercial model name, e.g. \"MacBook Pro 14\"\".","uniqueKey":"\\items.items.[INDEX].modelName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Commercial model name, e.g. \"MacBook Pro 14\"\".","uniqueKey":"\\items.items.[INDEX].modelName.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].modelName","typeLabel":"string | null"},"year":{"oneOf":[{"type":"integer","description":"Year the device was manufactured, e.g. 2024.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"\\items.items.[INDEX].year.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Year the device was manufactured, e.g. 2024.","uniqueKey":"\\items.items.[INDEX].year.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].year","typeLabel":"integer | null"},"serialNumber":{"oneOf":[{"type":"string","description":"Serial number of the device. Must be unique in your company. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].serialNumber.oneOf.0","typeLabel":"string"},{"type":"null","description":"Serial number of the device. Must be unique in your company. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].serialNumber.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].serialNumber","typeLabel":"string | null"},"modelIdentifier":{"oneOf":[{"type":"string","description":"Model identifier reported by the device, e.g. \"MacBookPro18,3\". Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].modelIdentifier.oneOf.0","typeLabel":"string"},{"type":"null","description":"Model identifier reported by the device, e.g. \"MacBookPro18,3\". Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].modelIdentifier.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].modelIdentifier","typeLabel":"string | null"},"type":{"oneOf":[{"type":"string","description":"Device type: LAPTOP, DESKTOP, TABLET, SMARTPHONE. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device. DESKTOP is the exception: the MDM cannot detect a desktop, so it can be set on an enrolled device, and changed back from it.","enum":["LAPTOP","DESKTOP","TABLET","SMARTPHONE"],"uniqueKey":"\\items.items.[INDEX].type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Device type: LAPTOP, DESKTOP, TABLET, SMARTPHONE. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device. DESKTOP is the exception: the MDM cannot detect a desktop, so it can be set on an enrolled device, and changed back from it.","uniqueKey":"\\items.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].type","typeLabel":"enum\u003cstring> | null"},"processor":{"oneOf":[{"type":"string","description":"Processor name, e.g. \"Apple M2 Pro\". Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].processor.oneOf.0","typeLabel":"string"},{"type":"null","description":"Processor name, e.g. \"Apple M2 Pro\". Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].processor.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].processor","typeLabel":"string | null"},"ram":{"oneOf":[{"type":"integer","description":"RAM in GB, e.g. 16. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"\\items.items.[INDEX].ram.oneOf.0","typeLabel":"integer"},{"type":"null","description":"RAM in GB, e.g. 16. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].ram.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].ram","typeLabel":"integer | null"},"storage":{"oneOf":[{"type":"integer","description":"Disk size in GB, e.g. 512. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","maximum":9007199254740991,"minimum":-9007199254740991,"uniqueKey":"\\items.items.[INDEX].storage.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Disk size in GB, e.g. 512. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].storage.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].storage","typeLabel":"integer | null"},"batteryHealth":{"oneOf":[{"type":"string","description":"Battery condition: SERVICE_RECOMMENDED or NORMAL. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","enum":["SERVICE_RECOMMENDED","NORMAL"],"uniqueKey":"\\items.items.[INDEX].batteryHealth.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Battery condition: SERVICE_RECOMMENDED or NORMAL. Only editable while the device is not enrolled in MDM — MDM owns this value on an enrolled device.","uniqueKey":"\\items.items.[INDEX].batteryHealth.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].batteryHealth","typeLabel":"enum\u003cstring> | null"}},"required":["deviceId"],"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"}},"required":["items"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"items":[{"deviceId":"\u003cstring>","purchaseDate":"2023-12-25","decommissioningDate":"2023-12-25","purchasePriceNoVAT":0,"ownerId":"\u003cstring>","name":"\u003cstring>","assetId":"\u003cstring>","inchScreenSize":123,"brand":"\u003cstring>","modelName":"\u003cstring>","year":0,"serialNumber":"\u003cstring>","modelIdentifier":"\u003cstring>","processor":"\u003cstring>","ram":0,"storage":0}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d11a84fa-b982-4836-8aec-8ea4e84e113f":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"successCount":{"type":"integer","description":"Number of devices updated successfully.","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"successCount","typeLabel":"integer"},"failureCount":{"type":"integer","description":"Number of devices that failed to update.","minimum":-9007199254740991,"maximum":9007199254740991,"isRequired":true,"uniqueKey":"failureCount","typeLabel":"integer"},"results":{"type":"array","description":"Per-item outcome, in the same order as the input `items`.","items":{"type":"object","properties":{"deviceId":{"type":"string","isRequired":true,"uniqueKey":"results.items.[INDEX].deviceId","typeLabel":"string"},"status":{"type":"string","enum":["ok","error"],"isRequired":true,"uniqueKey":"results.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"errorCode":{"oneOf":[{"type":"string","description":"Machine-readable error code when status is \"error\".","uniqueKey":"results.items.[INDEX].errorCode.oneOf.0","typeLabel":"string"},{"type":"null","description":"Machine-readable error code when status is \"error\".","uniqueKey":"results.items.[INDEX].errorCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].errorCode","typeLabel":"string | null"},"message":{"oneOf":[{"type":"string","description":"Human-readable error detail when status is \"error\".","uniqueKey":"results.items.[INDEX].message.oneOf.0","typeLabel":"string"},{"type":"null","description":"Human-readable error detail when status is \"error\".","uniqueKey":"results.items.[INDEX].message.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].message","typeLabel":"string | null"}},"required":["deviceId","status"],"additionalProperties":false,"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"results","typeLabel":"object[]"}},"required":["successCount","failureCount","results"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"successCount":0,"failureCount":0,"results":[{"deviceId":"\u003cstring>","status":"ok","errorCode":"\u003cstring>","message":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"913b394e-3938-4eb1-96d5-bfbfee2ab8b4":{"apikey":{"scheme":"bearer","bearerFormat":"API key","type":"http","description":"Use your Primo API key in the Authorization header as `Bearer \u003cAPI_KEY>`.","scopes":[],"schemeName":"apikey"}}},"servers":{"d8df4621-75ba-4a57-858d-6b74ec7aab9a":{"url":"https://api.getprimo.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"scheme":"bearer","bearerFormat":"API key","type":"http","description":"Use your Primo API key in the Authorization header as `Bearer \u003cAPI_KEY>`.","scopes":[],"schemeName":"apikey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Use your Primo API key in the Authorization header as `Bearer \u003cAPI_KEY>`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apikey","name":"Authorization"}],"title":"apikey"}]},"originalFileLocation":"https://api.getprimo.com/openapi.json"},"subdomain":"primo","siteName":"Primo Documentation","title":"Update several devices - Primo Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/devices/update-several-devices","matchLevel":0}}},"lastModified":"2026-11-11T08:28:39.226Z","originalFileLocation":"api-reference/devices/update-several-devices.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Update the inventory data of MULTIPLE devices in one call — the batch form of updateDevice, with the same fields and the same rules per device. Provide a list of items, each targeting one deviceId (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a results manifest reporting ok / error per device — always inspect results rather than relying on the HTTP status to detect partial failures. Prefer this over calling updateDevice once per device; use updateDevice for a single device, when you want the updated device back or a failure to surface as an HTTP error.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Primo 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/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_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/primo/lgSlZfpa2Z4VaaaL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update several devices - Primo Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update the inventory data of MULTIPLE devices in one call — the batch form of updateDevice, with the same fields and the same rules per device. Provide a list of items, each targeting one deviceId (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a results manifest reporting ok / error per device — always inspect results rather than relying on the HTTP status to detect partial failures. Prefer this over calling updateDevice once per device; use updateDevice for a single device, when you want the updated device back or a failure to surface as an HTTP error.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Primo Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getprimo.com/api-reference/devices/update-several-devices\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://primo.mintlify.site/_mintlify/api/og/v2?division=Devices\u0026amp;title=Update+several+devices\u0026amp;description=Update+the+inventory+data+of+MULTIPLE+devices+in+one+call+%E2%80%94+the+batch+form+of+%60updateDevice%60%2C+with+the+same+fields+and+the+same+rules+per+device.+Provide+a+list\u0026amp;theme=1ff57597a35ae4435f0c1742\u0026amp;signature=450d9524c9acb368472e08539a67cd489d02a38b1266c5abe352400ec7234a45\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Update several devices - Primo Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update the inventory data of MULTIPLE devices in one call — the batch form of updateDevice, with the same fields and the same rules per device. Provide a list of items, each targeting one deviceId (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a results manifest reporting ok / error per device — always inspect results rather than relying on the HTTP status to detect partial failures. Prefer this over calling updateDevice once per device; use updateDevice for a single device, when you want the updated device back or a failure to surface as an HTTP error.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://primo.mintlify.site/_mintlify/api/og/v2?division=Devices\u0026amp;title=Update+several+devices\u0026amp;description=Update+the+inventory+data+of+MULTIPLE+devices+in+one+call+%E2%80%94+the+batch+form+of+%60updateDevice%60%2C+with+the+same+fields+and+the+same+rules+per+device.+Provide+a+list\u0026amp;theme=1ff57597a35ae4435f0c1742\u0026amp;signature=450d9524c9acb368472e08539a67cd489d02a38b1266c5abe352400ec7234a45\">\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/primo/lgSlZfpa2Z4VaaaL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Primo Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#232D32\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getprimo.com/api-reference/devices/update-several-devices\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/devices/update-several-devices.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getprimo.com/#organization\",\"name\":\"Primo Documentation\",\"url\":\"https://docs.getprimo.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/primo/ScCUJrxVXMw2Xoed/logo/light.svg?fit=max\u0026auto=format\u0026n=ScCUJrxVXMw2Xoed\u0026q=85\u0026s=768eec9f1a23fe9fa9696734ed4a9a92\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getprimo.com#website\",\"name\":\"Primo Documentation\",\"url\":\"https://docs.getprimo.com\",\"publisher\":{\"@id\":\"https://docs.getprimo.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices#webpage\",\"url\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices\",\"name\":\"Update several devices\",\"description\":\"Update the inventory data of MULTIPLE devices in one call — the batch form of updateDevice, with the same fields and the same rules per device. Provide a list of items, each targeting one deviceId (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a results manifest reporting ok / error per device — always inspect results rather than relying on the HTTP status to detect partial failures. Prefer this over calling updateDevice once per device; use updateDevice for a single device, when you want the updated device back or a failure to surface as an HTTP error.\",\"dateModified\":\"2026-11-11T08:28:39.226Z\",\"isPartOf\":{\"@id\":\"https://docs.getprimo.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.getprimo.com/api-reference/admins/get-all-admins\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Devices\",\"item\":\"https://docs.getprimo.com/api-reference/devices/get-all-devices-deprecated\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update several devices\",\"item\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices#apireference\",\"headline\":\"Update several devices\",\"name\":\"Update several devices\",\"description\":\"Update the inventory data of MULTIPLE devices in one call — the batch form of updateDevice, with the same fields and the same rules per device. Provide a list of items, each targeting one deviceId (up to 100 per call, each device at most once). Writes are independent and best-effort: the call returns 200 with a results manifest reporting ok / error per device — always inspect results rather than relying on the HTTP status to detect partial failures. Prefer this over calling updateDevice once per device; use updateDevice for a single device, when you want the updated device back or a failure to surface as an HTTP error.\",\"url\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getprimo.com/api-reference/devices/update-several-devices#webpage\"},\"dateModified\":\"2026-11-11T08:28:39.226Z\",\"publisher\":{\"@id\":\"https://docs.getprimo.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getprimo.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Primo Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Primo Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/devices/update-several-devices.md","siteName":"Primo Documentation","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Documentation","icon":"notebook","pages":[{"title":"Documentation","href":""}]},{"tab":"Guides","icon":"briefcase","pages":[{"title":"Guides","href":"/guides/device-management/resolve-login-issue"}]},{"tab":"Maintenance","icon":"wrench","pages":[{"title":"Maintenance","href":"/maintenance/overview"}]},{"tab":"Changelog","icon":"megaphone","pages":[{"title":"Changelog","href":"/changelog/2026/november"}]},{"tab":"Developers","icon":"code","groups":[{"group":"Get started","icon":"compass","pages":[{"title":"Create API keys for Primo","sidebarTitle":"Primo API keys","href":"/api/create-primo-api-key"},{"title":"Create API keys for Fleet","sidebarTitle":"Fleet API keys","href":"/api/create-fleet-api-key"},{"title":"Connect to our MCP","sidebarTitle":"MCP server","href":"/get-started/primo-mcp-server"}]},{"group":"API Reference","icon":"code-simple","pages":[{"group":"Admins","pages":[{"title":"Get all admins","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /admins","href":"/api-reference/admins/get-all-admins"},{"title":"Email the company admins","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /admins/email","href":"/api-reference/admins/email-the-company-admins"},{"title":"Email an admin a recap","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /admins/recap-email","href":"/api-reference/admins/email-an-admin-a-recap"}]},{"group":"Company","pages":[{"title":"Get the authenticated company","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /company","href":"/api-reference/company/get-the-authenticated-company"},{"title":"Get the company metrics report","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /company/metrics","href":"/api-reference/company/get-the-company-metrics-report"},{"title":"Get the company's Setup","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /company/setup","href":"/api-reference/company/get-the-companys-setup"}]},{"group":"CustomFields","pages":[{"title":"List custom fields","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /custom-fields","href":"/api-reference/customfields/list-custom-fields"},{"title":"Create a custom field","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /custom-fields","href":"/api-reference/customfields/create-a-custom-field"},{"title":"Get a custom field by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /custom-fields/{customFieldId}","href":"/api-reference/customfields/get-a-custom-field-by-id"},{"title":"Update a custom field","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /custom-fields/{customFieldId}","href":"/api-reference/customfields/update-a-custom-field"},{"title":"Archive a custom field","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /custom-fields/{customFieldId}/archive","href":"/api-reference/customfields/archive-a-custom-field"}]},{"group":"Workspace","pages":[{"title":"Get all companies in the workspace","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /workspace/companies","href":"/api-reference/workspace/get-all-companies-in-the-workspace"},{"title":"Create a company in the workspace","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /workspace/companies","href":"/api-reference/workspace/create-a-company-in-the-workspace"},{"title":"Get a company by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /workspace/companies/{companyId}","href":"/api-reference/workspace/get-a-company-by-id"},{"title":"Update the options of a draft company","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /workspace/companies/{companyId}/options","href":"/api-reference/workspace/update-the-options-of-a-draft-company"},{"title":"Activate a draft company","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /workspace/companies/{companyId}/activate","href":"/api-reference/workspace/activate-a-draft-company"}]},{"group":"WorkspaceCatalog","pages":[{"title":"Create products in the workspace catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /workspace/catalog/products/batch","href":"/api-reference/workspacecatalog/create-products-in-the-workspace-catalog"}]},{"group":"Devices","pages":[{"title":"Get all devices (deprecated)","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices","href":"/api-reference/devices/get-all-devices-deprecated"},{"title":"Create a device","description":"Create a new device in your company.","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices","href":"/api-reference/devices/create-a-device"},{"title":"Update several devices","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /devices","href":"/api-reference/devices/update-several-devices"},{"title":"Export devices as CSV","description":"Export the devices of your company as a paginated CSV (one row per device, first line is the header, up to 1000 devices per page). To send an inventory of devices and the employees holding them, with no device code, use `exportInventory` instead. Each row contains the device attributes (IMEIs included, `|`-separated in `imeis`), its latest code of each type (recovery key, iCloud bypass code, unlock PIN, recovery OS password — see `getDeviceCodeHistory` for the full history), its `macAddress` (the MAC of the interface carrying its default route, as the OS presents it; empty for phones and tablets), and one `customField.\u003clabel>` column per active custom field (SELECT / MULTI_SELECT values are resolved to their option labels). Iterate `page` until `totalPages` and concatenate the CSV pages (dropping the header line of subsequent pages) to rebuild the full export. The REST route responds with `text/csv` (pagination in the `X-Page`, `X-Per-Page`, `X-Total-Pages` and `X-Total-Elements` headers); the MCP tool returns the CSV in the `csv` field.","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/export","href":"/api-reference/devices/export-devices-as-csv"},{"title":"Export the device and employee inventory as CSV","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/inventory/export","href":"/api-reference/devices/export-the-device-and-employee-inventory-as-csv"},{"title":"Get the device search filter catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/filters-options","href":"/api-reference/devices/get-the-device-search-filter-catalog"},{"title":"Get a device by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}","href":"/api-reference/devices/get-a-device-by-id"},{"title":"Delete a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /devices/{deviceId}","href":"/api-reference/devices/delete-a-device"},{"title":"Update a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /devices/{deviceId}","href":"/api-reference/devices/update-a-device"},{"title":"Lock a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/lock","href":"/api-reference/devices/lock-a-device"},{"title":"Unlock a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/unlock","href":"/api-reference/devices/unlock-a-device"},{"title":"Wipe a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/wipe","href":"/api-reference/devices/wipe-a-device"},{"title":"Run a script on one device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/run-script","href":"/api-reference/devices/run-a-script-on-one-device"},{"title":"List a device's script history","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/script-executions","href":"/api-reference/devices/list-a-devices-script-history"},{"title":"Retire a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/retire","href":"/api-reference/devices/retire-a-device"},{"title":"Reboot a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/reboot","href":"/api-reference/devices/reboot-a-device"},{"title":"Disenroll a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/disenroll","href":"/api-reference/devices/disenroll-a-device"},{"title":"Move a device to stock","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/move-to-stock","href":"/api-reference/devices/move-a-device-to-stock"},{"title":"Move a device to in-use","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/move-to-in-use","href":"/api-reference/devices/move-a-device-to-in-use"},{"title":"Put a device back in stock","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/put-back-in-stock","href":"/api-reference/devices/put-a-device-back-in-stock"},{"title":"Update a device owner","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/owner","href":"/api-reference/devices/update-a-device-owner"},{"title":"Update device tags","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/tags","href":"/api-reference/devices/update-device-tags"},{"title":"Get device events","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/events","href":"/api-reference/devices/get-device-events"},{"title":"List local user accounts on a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/users","href":"/api-reference/devices/list-local-user-accounts-on-a-device"},{"title":"List local user accounts on multiple devices","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/users","href":"/api-reference/devices/list-local-user-accounts-on-multiple-devices"},{"title":"Get device code history","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/code-history","href":"/api-reference/devices/get-device-code-history"},{"title":"Get device reachability","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/reachability","href":"/api-reference/devices/get-device-reachability"},{"title":"Get code history for multiple devices","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/code-history","href":"/api-reference/devices/get-code-history-for-multiple-devices"},{"title":"Get device custom fields","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/custom-fields","href":"/api-reference/devices/get-device-custom-fields"},{"title":"Get custom fields for multiple devices","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/custom-fields","href":"/api-reference/devices/get-custom-fields-for-multiple-devices"},{"title":"Set a device custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /devices/{deviceId}/custom-fields/{customFieldId}","href":"/api-reference/devices/set-a-device-custom-field-value"},{"title":"Clear a device custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /devices/{deviceId}/custom-fields/{customFieldId}","href":"/api-reference/devices/clear-a-device-custom-field-value"},{"title":"Get devices, optionally narrowed by a filter","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/search","href":"/api-reference/devices/get-devices-optionally-narrowed-by-a-filter"},{"title":"Count devices for up to 20 filters in one call","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/count","href":"/api-reference/devices/count-devices-for-up-to-20-filters-in-one-call"},{"title":"Set device custom field values in batch","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/custom-fields/batch","href":"/api-reference/devices/set-device-custom-field-values-in-batch"},{"title":"List software on a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/software","href":"/api-reference/devices/list-software-on-a-device"},{"title":"List the MDM controls that apply to a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/mdm-controls","href":"/api-reference/devices/list-the-mdm-controls-that-apply-to-a-device"},{"title":"Get software install logs on a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/software/{softwareId}/install-logs","href":"/api-reference/devices/get-software-install-logs-on-a-device"},{"title":"Install a software on a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/software/{softwareId}/install","href":"/api-reference/devices/install-a-software-on-a-device"},{"title":"Uninstall a software from a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/software/{softwareId}/uninstall","href":"/api-reference/devices/uninstall-a-software-from-a-device"},{"title":"Sync a device software state","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/software/sync","href":"/api-reference/devices/sync-a-device-software-state"},{"title":"List past activities for a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/activities","href":"/api-reference/devices/list-past-activities-for-a-device"},{"title":"List upcoming activities for a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/activities/upcoming","href":"/api-reference/devices/list-upcoming-activities-for-a-device"},{"title":"Cancel a queued activity on a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /devices/{deviceId}/activities/upcoming/{activityUuid}","href":"/api-reference/devices/cancel-a-queued-activity-on-a-device"},{"title":"Resend one MDM control's configuration profile to one device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/mdm-controls/{mdmControlId}/resend-profile","href":"/api-reference/devices/resend-one-mdm-controls-configuration-profile-to-one-device"},{"title":"Refresh Primo's record of a device from the MDM","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/sync","href":"/api-reference/devices/refresh-primos-record-of-a-device-from-the-mdm"},{"title":"Ask a device to report its state back to the MDM","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /devices/{deviceId}/refetch","href":"/api-reference/devices/ask-a-device-to-report-its-state-back-to-the-mdm"},{"title":"List MDM commands for a device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/commands","href":"/api-reference/devices/list-mdm-commands-for-a-device"},{"title":"Get results for an MDM command","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /devices/{deviceId}/commands/{commandUuid}/results","href":"/api-reference/devices/get-results-for-an-mdm-command"}]},{"group":"Scripts","pages":[{"title":"List the saved scripts","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /scripts","href":"/api-reference/scripts/list-the-saved-scripts"},{"title":"List script runs","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /script-runs","href":"/api-reference/scripts/list-script-runs"},{"title":"Run a script on a target","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /script-runs","href":"/api-reference/scripts/run-a-script-on-a-target"},{"title":"Count the devices a script run would reach","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /script-runs/preview-target-count","href":"/api-reference/scripts/count-the-devices-a-script-run-would-reach"},{"title":"List the per-device results of a script run","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /script-runs/{runId}/executions","href":"/api-reference/scripts/list-the-per-device-results-of-a-script-run"},{"title":"Get a script run","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /script-runs/{runId}","href":"/api-reference/scripts/get-a-script-run"},{"title":"Get a saved script and its source","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /scripts/{scriptId}","href":"/api-reference/scripts/get-a-saved-script-and-its-source"},{"title":"Add a Primo remediation kit to Fleet","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /scripts/remediation-kits","href":"/api-reference/scripts/add-a-primo-remediation-kit-to-fleet"},{"title":"Read what a remediation kit's reports found on each device","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /scripts/remediation-kits/{kit}/findings","href":"/api-reference/scripts/read-what-a-remediation-kits-reports-found-on-each-device"}]},{"group":"MdmControls","pages":[{"title":"Get all MDM controls","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /mdm-controls","href":"/api-reference/mdmcontrols/get-all-mdm-controls"},{"title":"Create an MDM control","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /mdm-controls","href":"/api-reference/mdmcontrols/create-an-mdm-control"},{"title":"Get the MDM control type catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /mdm-controls/catalog","href":"/api-reference/mdmcontrols/get-the-mdm-control-type-catalog"},{"title":"Get an MDM control by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /mdm-controls/{mdmControlId}","href":"/api-reference/mdmcontrols/get-an-mdm-control-by-id"},{"title":"Delete an MDM control","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /mdm-controls/{mdmControlId}","href":"/api-reference/mdmcontrols/delete-an-mdm-control"},{"title":"Update an MDM control","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /mdm-controls/{mdmControlId}","href":"/api-reference/mdmcontrols/update-an-mdm-control"},{"title":"Update an MDM control's tags","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /mdm-controls/{mdmControlId}/tags","href":"/api-reference/mdmcontrols/update-an-mdm-controls-tags"}]},{"group":"DeviceGroups","pages":[{"title":"Get all device groups","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /device-groups","href":"/api-reference/devicegroups/get-all-device-groups"},{"title":"Create a device group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /device-groups","href":"/api-reference/devicegroups/create-a-device-group"},{"title":"Get what uses a device group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /device-groups/{deviceGroupId}/relations","href":"/api-reference/devicegroups/get-what-uses-a-device-group"},{"title":"Get the device group filter catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /device-groups/filters-options","href":"/api-reference/devicegroups/get-the-device-group-filter-catalog"},{"title":"Get a device group by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /device-groups/{deviceGroupId}","href":"/api-reference/devicegroups/get-a-device-group-by-id"},{"title":"Update a device group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /device-groups/{deviceGroupId}","href":"/api-reference/devicegroups/update-a-device-group"},{"title":"Delete a device group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /device-groups/{deviceGroupId}","href":"/api-reference/devicegroups/delete-a-device-group"},{"title":"Check a device group target before creating the group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /device-groups/validate-target","href":"/api-reference/devicegroups/check-a-device-group-target-before-creating-the-group"}]},{"group":"Employees","pages":[{"title":"Get employees, optionally narrowed by a search","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /employees","href":"/api-reference/employees/get-employees-optionally-narrowed-by-a-search"},{"title":"Create an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employees","href":"/api-reference/employees/create-an-employee"},{"title":"Get an employee by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /employees/{employeeId}","href":"/api-reference/employees/get-an-employee-by-id"},{"title":"Update an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /employees/{employeeId}","href":"/api-reference/employees/update-an-employee"},{"title":"Get employee custom fields","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /employees/{employeeId}/custom-fields","href":"/api-reference/employees/get-employee-custom-fields"},{"title":"Hide an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employees/{employeeId}/hide","href":"/api-reference/employees/hide-an-employee"},{"title":"Set an employee custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /employees/{employeeId}/custom-fields/{customFieldId}","href":"/api-reference/employees/set-an-employee-custom-field-value"},{"title":"Clear an employee custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /employees/{employeeId}/custom-fields/{customFieldId}","href":"/api-reference/employees/clear-an-employee-custom-field-value"},{"title":"Unhide an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employees/{employeeId}/unhide","href":"/api-reference/employees/unhide-an-employee"},{"title":"Send an MDM enrollment request to an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employees/{employeeId}/send-enrollment-request","href":"/api-reference/employees/send-an-mdm-enrollment-request-to-an-employee"}]},{"group":"EquipmentPolicy","pages":[{"title":"Get the equipment policy","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /equipment-policy","href":"/api-reference/equipmentpolicy/get-the-equipment-policy"},{"title":"Get the computed equipment policy result","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /equipment-policy/result","href":"/api-reference/equipmentpolicy/get-the-computed-equipment-policy-result"}]},{"group":"PurchasingPolicy","pages":[{"title":"Get the purchasing policy","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /purchasing-policy","href":"/api-reference/purchasingpolicy/get-the-purchasing-policy"}]},{"group":"Accessories","pages":[{"title":"Get accessories, optionally narrowed to stock and to one type","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /accessories","href":"/api-reference/accessories/get-accessories-optionally-narrowed-to-stock-and-to-one-type"},{"title":"Create an accessory","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /accessories","href":"/api-reference/accessories/create-an-accessory"},{"title":"Get an accessory by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /accessories/{accessoryId}","href":"/api-reference/accessories/get-an-accessory-by-id"},{"title":"Update an accessory","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /accessories/{accessoryId}","href":"/api-reference/accessories/update-an-accessory"},{"title":"Get accessory custom fields","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /accessories/{accessoryId}/custom-fields","href":"/api-reference/accessories/get-accessory-custom-fields"},{"title":"Set an accessory custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /accessories/{accessoryId}/custom-fields/{customFieldId}","href":"/api-reference/accessories/set-an-accessory-custom-field-value"},{"title":"Clear an accessory custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /accessories/{accessoryId}/custom-fields/{customFieldId}","href":"/api-reference/accessories/clear-an-accessory-custom-field-value"},{"title":"Assign an accessory to an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /accessories/{accessoryId}/assign","href":"/api-reference/accessories/assign-an-accessory-to-an-employee"},{"title":"Archive an accessory","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /accessories/{accessoryId}/archive","href":"/api-reference/accessories/archive-an-accessory"}]},{"group":"Compliance","pages":[{"title":"Get all active compliance alerts","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /compliance/alerts","href":"/api-reference/compliance/get-all-active-compliance-alerts"},{"title":"Get compliance alerts, optionally narrowed by a filter","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /compliance/alerts/search","href":"/api-reference/compliance/get-compliance-alerts-optionally-narrowed-by-a-filter"},{"title":"Get the full remediation context of one compliance alert","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /compliance/alerts/{alertId}/details","href":"/api-reference/compliance/get-the-full-remediation-context-of-one-compliance-alert"},{"title":"Get the full remediation context of several compliance alerts","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /compliance/alerts/details","href":"/api-reference/compliance/get-the-full-remediation-context-of-several-compliance-alerts"},{"title":"Get the compliance alert a ticket was opened for, with its full remediation context","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /compliance/tickets/{ticketId}/alert/details","href":"/api-reference/compliance/get-the-compliance-alert-a-ticket-was-opened-for-with-its-full-remediation-context"},{"title":"Get the compliance alert filter catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /compliance/alerts/filters-options","href":"/api-reference/compliance/get-the-compliance-alert-filter-catalog"},{"title":"Get all compliance alert rules","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /compliance/alert-rules","href":"/api-reference/compliance/get-all-compliance-alert-rules"},{"title":"Create or upsert a compliance alert rule","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /compliance/alert-rules","href":"/api-reference/compliance/create-or-upsert-a-compliance-alert-rule"},{"title":"Update a compliance alert rule","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /compliance/alert-rules/{ruleId}","href":"/api-reference/compliance/update-a-compliance-alert-rule"}]},{"group":"Tasks","pages":[{"title":"Get all tasks","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /tasks","href":"/api-reference/tasks/get-all-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tasks","href":"/api-reference/tasks/create-a-task"},{"title":"Schedule a dormant task for later on a ticket you work","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tasks/schedule","href":"/api-reference/tasks/schedule-a-dormant-task-for-later-on-a-ticket-you-work"},{"title":"Update task status","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tasks/{taskId}/status","href":"/api-reference/tasks/update-task-status"},{"title":"Update task assignee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tasks/{taskId}/assignee","href":"/api-reference/tasks/update-task-assignee"}]},{"group":"Tickets","pages":[{"title":"Get all tickets","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /tickets","href":"/api-reference/tickets/get-all-tickets"},{"title":"Create a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets","href":"/api-reference/tickets/create-a-ticket"},{"title":"Count tickets for up to 20 queries in one call","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/count","href":"/api-reference/tickets/count-tickets-for-up-to-20-queries-in-one-call"},{"title":"Get a ticket by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /tickets/{ticketId}","href":"/api-reference/tickets/get-a-ticket-by-id"},{"title":"Delete a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /tickets/{ticketId}","href":"/api-reference/tickets/delete-a-ticket"},{"title":"Update a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /tickets/{ticketId}","href":"/api-reference/tickets/update-a-ticket"},{"title":"Update ticket status","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/status","href":"/api-reference/tickets/update-ticket-status"},{"title":"Update ticket assignee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/assignee","href":"/api-reference/tickets/update-ticket-assignee"},{"title":"Update the AI agent on a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/ai-agent","href":"/api-reference/tickets/update-the-ai-agent-on-a-ticket"},{"title":"Update ticket priority","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/priority","href":"/api-reference/tickets/update-ticket-priority"},{"title":"Create a ticket comment","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/comments","href":"/api-reference/tickets/create-a-ticket-comment"},{"title":"Link a related object to a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/related","href":"/api-reference/tickets/link-a-related-object-to-a-ticket"},{"title":"Unlink a related object from a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /tickets/{ticketId}/related/{linkId}","href":"/api-reference/tickets/unlink-a-related-object-from-a-ticket"},{"title":"List subscribers of a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /tickets/{ticketId}/subscribers","href":"/api-reference/tickets/list-subscribers-of-a-ticket"},{"title":"Add subscribers to a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /tickets/{ticketId}/subscribers","href":"/api-reference/tickets/add-subscribers-to-a-ticket"},{"title":"Remove a subscriber from a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /tickets/{ticketId}/subscribers","href":"/api-reference/tickets/remove-a-subscriber-from-a-ticket"}]},{"group":"TicketTags","pages":[{"title":"List ticket tags","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ticket-tags","href":"/api-reference/tickettags/list-ticket-tags"},{"title":"Create a ticket tag","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /ticket-tags","href":"/api-reference/tickettags/create-a-ticket-tag"},{"title":"Delete a ticket tag","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /ticket-tags/{tagId}","href":"/api-reference/tickettags/delete-a-ticket-tag"},{"title":"Update a ticket tag","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /ticket-tags/{tagId}","href":"/api-reference/tickettags/update-a-ticket-tag"}]},{"group":"Softwares","pages":[{"title":"Get all softwares","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /software","href":"/api-reference/softwares/get-all-softwares"},{"title":"List the Fleet-maintained apps catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /software/fleet-maintained-apps","href":"/api-reference/softwares/list-the-fleet-maintained-apps-catalog"},{"title":"Add a Fleet-maintained app","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /software/fleet-maintained-apps","href":"/api-reference/softwares/add-a-fleet-maintained-app"},{"title":"List vulnerabilities","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /software/vulnerabilities","href":"/api-reference/softwares/list-vulnerabilities"},{"title":"Get a vulnerability by CVE","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /software/vulnerability/{cve}","href":"/api-reference/softwares/get-a-vulnerability-by-cve"},{"title":"Get a software by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /software/{softwareId}","href":"/api-reference/softwares/get-a-software-by-id"},{"title":"Update a software","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /software/{softwareId}","href":"/api-reference/softwares/update-a-software"},{"title":"Delete a software","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /software/{softwareId}","href":"/api-reference/softwares/delete-a-software"},{"title":"List devices targeted by a software","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /software/{softwareId}/devices","href":"/api-reference/softwares/list-devices-targeted-by-a-software"},{"title":"Sync the company software catalog","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /software/sync","href":"/api-reference/softwares/sync-the-company-software-catalog"},{"title":"Simulate a software target count","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /software/simulate-target-count","href":"/api-reference/softwares/simulate-a-software-target-count"},{"title":"Get target device counts for softwares","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /software/target-counts","href":"/api-reference/softwares/get-target-device-counts-for-softwares"},{"title":"Update a software's install scripts","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /software/{softwareId}/scripts","href":"/api-reference/softwares/update-a-softwares-install-scripts"},{"title":"Get install status counts for softwares","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /software/device-counts","href":"/api-reference/softwares/get-install-status-counts-for-softwares"}]},{"group":"BillingProfiles","pages":[{"title":"Get all billing profiles","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /billing-profiles","href":"/api-reference/billingprofiles/get-all-billing-profiles"}]},{"group":"AiUsage","pages":[{"title":"Get the company AI credit usage","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-usage","href":"/api-reference/aiusage/get-the-company-ai-credit-usage"}]},{"group":"AiTools","pages":[{"title":"Get the AI tools overview of the company","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/overview","href":"/api-reference/aitools/get-the-ai-tools-overview-of-the-company"},{"title":"Get the AI tools found on the devices","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/tools","href":"/api-reference/aitools/get-the-ai-tools-found-on-the-devices"},{"title":"Get one AI tool and the devices it is on","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/tools/{toolKey}","href":"/api-reference/aitools/get-one-ai-tool-and-the-devices-it-is-on"},{"title":"Get the devices with their AI tools counts","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/devices","href":"/api-reference/aitools/get-the-devices-with-their-ai-tools-counts"},{"title":"Get one device's AI inventory","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/devices/{deviceId}","href":"/api-reference/aitools/get-one-devices-ai-inventory"},{"title":"Get the AI risk findings","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/findings","href":"/api-reference/aitools/get-the-ai-risk-findings"},{"title":"Open the ticket of an AI finding","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /ai-tools/findings/{deviceId}/{findingKey}/ticket","href":"/api-reference/aitools/open-the-ticket-of-an-ai-finding"},{"title":"Get the AI finding an AI tools ticket was opened for","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/tickets/{ticketId}/details","href":"/api-reference/aitools/get-the-ai-finding-an-ai-tools-ticket-was-opened-for"},{"title":"Get the AI tools settings of the company","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /ai-tools/settings","href":"/api-reference/aitools/get-the-ai-tools-settings-of-the-company"},{"title":"Change the AI tools settings of the company","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /ai-tools/settings","href":"/api-reference/aitools/change-the-ai-tools-settings-of-the-company"},{"title":"Approve or block an AI tool, or mark it not reviewed","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /ai-tools/tools/{toolKey}/policy","href":"/api-reference/aitools/approve-or-block-an-ai-tool-or-mark-it-not-reviewed"},{"title":"Approve or block several AI tools, or mark them not reviewed","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /ai-tools/tools/policy","href":"/api-reference/aitools/approve-or-block-several-ai-tools-or-mark-them-not-reviewed"}]},{"group":"Orders","pages":[{"title":"Get orders, optionally narrowed to one employee or one reference","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /orders","href":"/api-reference/orders/get-orders-optionally-narrowed-to-one-employee-or-one-reference"},{"title":"Create an order","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /orders","href":"/api-reference/orders/create-an-order"},{"title":"Get an order by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /orders/{orderId}","href":"/api-reference/orders/get-an-order-by-id"},{"title":"Get order custom fields","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /orders/{orderId}/custom-fields","href":"/api-reference/orders/get-order-custom-fields"},{"title":"Set an order custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /orders/{orderId}/custom-fields/{customFieldId}","href":"/api-reference/orders/set-an-order-custom-field-value"},{"title":"Clear an order custom field value","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /orders/{orderId}/custom-fields/{customFieldId}","href":"/api-reference/orders/clear-an-order-custom-field-value"},{"title":"Create an equipment order intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /equipment-order-intents","href":"/api-reference/orders/create-an-equipment-order-intent"},{"title":"Update an equipment order intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /equipment-order-intents/{intentId}","href":"/api-reference/orders/update-an-equipment-order-intent"},{"title":"Execute an equipment order intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /equipment-order-intents/{intentId}/execute","href":"/api-reference/orders/execute-an-equipment-order-intent"}]},{"group":"Saas","pages":[{"title":"Get all SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /saas","href":"/api-reference/saas/get-all-saas"},{"title":"Get the SaaS identities of an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /employees/{employeeId}/saas-identities","href":"/api-reference/saas/get-the-saas-identities-of-an-employee"},{"title":"Get the SaaS identities no employee owns, across every application","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /saas-identities/unlinked","href":"/api-reference/saas/get-the-saas-identities-no-employee-owns-across-every-application"},{"title":"Link SaaS identities to the employees who own them","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas-identities/batch-link","href":"/api-reference/saas/link-saas-identities-to-the-employees-who-own-them"},{"title":"Get a SaaS by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /saas/{saasId}","href":"/api-reference/saas/get-a-saas-by-id"},{"title":"Get the issues flagged for a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /saas/{saasId}/issues","href":"/api-reference/saas/get-the-issues-flagged-for-a-saas"},{"title":"Update a SaaS contract","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/contract","href":"/api-reference/saas/update-a-saas-contract"},{"title":"Update the access policy draft of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/rule","href":"/api-reference/saas/update-the-access-policy-draft-of-a-saas"},{"title":"Publish the access policy of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/rule/publish","href":"/api-reference/saas/publish-the-access-policy-of-a-saas"},{"title":"Preview the SaaS accounts the access policies grant to a person","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/identities/preview","href":"/api-reference/saas/preview-the-saas-accounts-the-access-policies-grant-to-a-person"},{"title":"Preview the issues the access policy draft of a SaaS raises","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/issues/preview","href":"/api-reference/saas/preview-the-issues-the-access-policy-draft-of-a-saas-raises"},{"title":"Ask for an account to be created on a SaaS application","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/provision","href":"/api-reference/saas/ask-for-an-account-to-be-created-on-a-saas-application"},{"title":"Create a SaaS account task on a ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/provisioning-intents","href":"/api-reference/saas/create-a-saas-account-task-on-a-ticket"},{"title":"Deprovision a SaaS identity","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/deprovision","href":"/api-reference/saas/deprovision-a-saas-identity"},{"title":"Reset the password of an employee's identity on a SaaS application","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/reset-password","href":"/api-reference/saas/reset-the-password-of-an-employees-identity-on-a-saas-application"},{"title":"Create a SaaS identity directly, with no provisioning ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/identities","href":"/api-reference/saas/create-a-saas-identity-directly-with-no-provisioning-ticket"},{"title":"Update or remove the owner of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/owner","href":"/api-reference/saas/update-or-remove-the-owner-of-a-saas"},{"title":"Update the approval status of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/approval-status","href":"/api-reference/saas/update-the-approval-status-of-a-saas"},{"title":"Add a SaaS identity to a group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/identities/{identityId}/groups/{remoteId}","href":"/api-reference/saas/add-a-saas-identity-to-a-group"},{"title":"Remove a SaaS identity from a group","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/identities/{identityId}/groups/{remoteId}","href":"/api-reference/saas/remove-a-saas-identity-from-a-group"},{"title":"Give a SaaS identity a role","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/identities/{identityId}/roles/{remoteId}","href":"/api-reference/saas/give-a-saas-identity-a-role"},{"title":"Take a role off a SaaS identity","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/identities/{identityId}/roles/{remoteId}","href":"/api-reference/saas/take-a-role-off-a-saas-identity"},{"title":"Give a SaaS identity a licence","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/identities/{identityId}/licenses/{remoteId}","href":"/api-reference/saas/give-a-saas-identity-a-licence"},{"title":"Take a licence off a SaaS identity","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/identities/{identityId}/licenses/{remoteId}","href":"/api-reference/saas/take-a-licence-off-a-saas-identity"},{"title":"Put a SaaS identity in an organization unit","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/identities/{identityId}/organization-units/{remoteId}","href":"/api-reference/saas/put-a-saas-identity-in-an-organization-unit"},{"title":"Take a SaaS identity out of an organization unit","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/identities/{identityId}/organization-units/{remoteId}","href":"/api-reference/saas/take-a-saas-identity-out-of-an-organization-unit"},{"title":"Add a license to a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/licences","href":"/api-reference/saas/add-a-license-to-a-saas"},{"title":"Rename a license of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/licences/{remoteId}","href":"/api-reference/saas/rename-a-license-of-a-saas"},{"title":"Remove a license from a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/licences/{remoteId}","href":"/api-reference/saas/remove-a-license-from-a-saas"},{"title":"Add a role to a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/roles","href":"/api-reference/saas/add-a-role-to-a-saas"},{"title":"Rename a role of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/roles/{remoteId}","href":"/api-reference/saas/rename-a-role-of-a-saas"},{"title":"Remove a role from a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/roles/{remoteId}","href":"/api-reference/saas/remove-a-role-from-a-saas"},{"title":"Add a group to a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/groups","href":"/api-reference/saas/add-a-group-to-a-saas"},{"title":"Rename a group of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/groups/{remoteId}","href":"/api-reference/saas/rename-a-group-of-a-saas"},{"title":"Remove a group from a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/groups/{remoteId}","href":"/api-reference/saas/remove-a-group-from-a-saas"},{"title":"Add an organization unit to a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/organization-units","href":"/api-reference/saas/add-an-organization-unit-to-a-saas"},{"title":"Rename an organization unit of a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/organization-units/{remoteId}","href":"/api-reference/saas/rename-an-organization-unit-of-a-saas"},{"title":"Remove an organization unit from a SaaS","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas/{saasId}/organization-units/{remoteId}","href":"/api-reference/saas/remove-an-organization-unit-from-a-saas"},{"title":"Archive a SaaS application user","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas-application-users/{saasApplicationUserId}","href":"/api-reference/saas/archive-a-saas-application-user"},{"title":"Permanently delete a SaaS application user","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /saas-application-users/{saasApplicationUserId}/permanent","href":"/api-reference/saas/permanently-delete-a-saas-application-user"},{"title":"Archive several SaaS application users","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas-application-users/batch-archive","href":"/api-reference/saas/archive-several-saas-application-users"},{"title":"Permanently delete several SaaS application users","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas-application-users/batch-delete","href":"/api-reference/saas/permanently-delete-several-saas-application-users"},{"title":"Create several SaaS identities directly, with no provisioning ticket","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/identities/batch","href":"/api-reference/saas/create-several-saas-identities-directly-with-no-provisioning-ticket"}]},{"group":"Catalog","pages":[{"title":"List catalog countries","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /catalog/countries","href":"/api-reference/catalog/list-catalog-countries"},{"title":"Search catalog products","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /catalog/{countryCode}/products/search","href":"/api-reference/catalog/search-catalog-products"},{"title":"Get catalog filter options","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /catalog/{countryCode}/filter-options","href":"/api-reference/catalog/get-catalog-filter-options"},{"title":"Get a catalog product","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /catalog/{countryCode}/products/{productId}","href":"/api-reference/catalog/get-a-catalog-product"},{"title":"Get several catalog products","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /catalog/{countryCode}/products/by-ids","href":"/api-reference/catalog/get-several-catalog-products"},{"title":"List shipping countries","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /shipping-countries","href":"/api-reference/catalog/list-shipping-countries"},{"title":"List company addresses for a shipping country","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /shipping-countries/{countryCode}/addresses","href":"/api-reference/catalog/list-company-addresses-for-a-shipping-country"},{"title":"List the catalog favorites of a country","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /catalog/{countryCode}/favorites","href":"/api-reference/catalog/list-the-catalog-favorites-of-a-country"},{"title":"Pin a catalog product as a favorite","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /catalog/{countryCode}/products/{productId}/favorite","href":"/api-reference/catalog/pin-a-catalog-product-as-a-favorite"},{"title":"Unpin a catalog product from the favorites","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json delete /catalog/{countryCode}/products/{productId}/favorite","href":"/api-reference/catalog/unpin-a-catalog-product-from-the-favorites"}]},{"group":"Shipments","pages":[{"title":"Get shipments, optionally narrowed to one employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /shipments","href":"/api-reference/shipments/get-shipments-optionally-narrowed-to-one-employee"},{"title":"Create a shipment","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /shipments","href":"/api-reference/shipments/create-a-shipment"},{"title":"Get a shipment by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /shipments/{shipmentId}","href":"/api-reference/shipments/get-a-shipment-by-id"}]},{"group":"KnowledgeBaseItems","pages":[{"title":"List the company knowledge base items","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /knowledge-base-items","href":"/api-reference/knowledgebaseitems/list-the-company-knowledge-base-items"},{"title":"Get a knowledge base item","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /knowledge-base-items/{id}","href":"/api-reference/knowledgebaseitems/get-a-knowledge-base-item"}]},{"group":"Onboardings","pages":[{"title":"Get all onboardings","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /onboardings","href":"/api-reference/onboardings/get-all-onboardings"},{"title":"Create an onboarding for an existing employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /onboardings","href":"/api-reference/onboardings/create-an-onboarding-for-an-existing-employee"},{"title":"Get the onboarding settings","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /onboarding-settings","href":"/api-reference/onboardings/get-the-onboarding-settings"},{"title":"Update the onboarding settings","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /onboarding-settings","href":"/api-reference/onboardings/update-the-onboarding-settings"},{"title":"Create the onboarding of a joiner from an HR system event","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employee-onboardings","href":"/api-reference/onboardings/create-the-onboarding-of-a-joiner-from-an-hr-system-event"},{"title":"Get an onboarding by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /onboardings/{onboardingId}","href":"/api-reference/onboardings/get-an-onboarding-by-id"},{"title":"Complete onboardings in bulk","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /onboardings/complete","href":"/api-reference/onboardings/complete-onboardings-in-bulk"},{"title":"Complete an onboarding","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /onboardings/{onboardingId}/complete","href":"/api-reference/onboardings/complete-an-onboarding"},{"title":"Ignore onboardings in bulk","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /onboardings/ignore","href":"/api-reference/onboardings/ignore-onboardings-in-bulk"},{"title":"Ignore an onboarding","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /onboardings/{onboardingId}/ignore","href":"/api-reference/onboardings/ignore-an-onboarding"},{"title":"Execute the equipment step of an onboarding","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /onboardings/{onboardingId}/equipment","href":"/api-reference/onboardings/execute-the-equipment-step-of-an-onboarding"},{"title":"Create an email account intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /email-account-intents","href":"/api-reference/onboardings/create-an-email-account-intent"},{"title":"Update an email account intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /email-account-intents/{intentId}","href":"/api-reference/onboardings/update-an-email-account-intent"},{"title":"Execute an email account intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /email-account-intents/{intentId}/execute","href":"/api-reference/onboardings/execute-an-email-account-intent"},{"title":"Create an employee creation intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employee-creation-intents","href":"/api-reference/onboardings/create-an-employee-creation-intent"},{"title":"Update an employee creation intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /employee-creation-intents/{intentId}","href":"/api-reference/onboardings/update-an-employee-creation-intent"},{"title":"Execute an employee creation intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employee-creation-intents/{intentId}/execute","href":"/api-reference/onboardings/execute-an-employee-creation-intent"},{"title":"Get a SaaS selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /saas-selection-intents/{intentId}","href":"/api-reference/onboardings/get-a-saas-selection-intent"},{"title":"Execute a SaaS selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas-selection-intents/{intentId}/execute","href":"/api-reference/onboardings/execute-a-saas-selection-intent"},{"title":"Get an email account selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /email-account-selection-intents/{intentId}","href":"/api-reference/onboardings/get-an-email-account-selection-intent"},{"title":"Execute an email account selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /email-account-selection-intents/{intentId}/execute","href":"/api-reference/onboardings/execute-an-email-account-selection-intent"}]},{"group":"Offboardings","pages":[{"title":"Get all offboardings","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /offboardings","href":"/api-reference/offboardings/get-all-offboardings"},{"title":"Start the offboarding of an employee","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /offboardings","href":"/api-reference/offboardings/start-the-offboarding-of-an-employee"},{"title":"Get an offboarding by ID","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /offboardings/{offboardingId}","href":"/api-reference/offboardings/get-an-offboarding-by-id"},{"title":"Create the offboarding of a leaver from an HR system event","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /employee-offboardings","href":"/api-reference/offboardings/create-the-offboarding-of-a-leaver-from-an-hr-system-event"},{"title":"Ignore an offboarding","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /offboardings/{offboardingId}/ignore","href":"/api-reference/offboardings/ignore-an-offboarding"},{"title":"Create an offboarding confirmation intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /offboarding-confirmation-intents","href":"/api-reference/offboardings/create-an-offboarding-confirmation-intent"},{"title":"Update an offboarding confirmation intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /offboarding-confirmation-intents/{intentId}","href":"/api-reference/offboardings/update-an-offboarding-confirmation-intent"},{"title":"Execute an offboarding confirmation intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /offboarding-confirmation-intents/{intentId}/execute","href":"/api-reference/offboardings/execute-an-offboarding-confirmation-intent"},{"title":"Create an offboarding access selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /offboarding-access-selection-intents","href":"/api-reference/offboardings/create-an-offboarding-access-selection-intent"},{"title":"Get an offboarding access selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /offboarding-access-selection-intents/{intentId}","href":"/api-reference/offboardings/get-an-offboarding-access-selection-intent"},{"title":"Update an offboarding access selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /offboarding-access-selection-intents/{intentId}","href":"/api-reference/offboardings/update-an-offboarding-access-selection-intent"},{"title":"Execute an offboarding access selection intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /offboarding-access-selection-intents/{intentId}/execute","href":"/api-reference/offboardings/execute-an-offboarding-access-selection-intent"},{"title":"Create a device handling intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /device-handling-intents","href":"/api-reference/offboardings/create-a-device-handling-intent"},{"title":"Get a device handling intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json get /device-handling-intents/{intentId}","href":"/api-reference/offboardings/get-a-device-handling-intent"},{"title":"Update a device handling intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /device-handling-intents/{intentId}","href":"/api-reference/offboardings/update-a-device-handling-intent"},{"title":"Execute a device handling intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /device-handling-intents/{intentId}/execute","href":"/api-reference/offboardings/execute-a-device-handling-intent"},{"title":"Create a return shipment intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /return-shipment-intents","href":"/api-reference/offboardings/create-a-return-shipment-intent"},{"title":"Update a return shipment intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json patch /return-shipment-intents/{intentId}","href":"/api-reference/offboardings/update-a-return-shipment-intent"},{"title":"Execute a return shipment intent","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /return-shipment-intents/{intentId}/execute","href":"/api-reference/offboardings/execute-a-return-shipment-intent"}]}]}]}]}]},"basePath":"","title":"Update several devices - Primo Documentation","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DDP9JXtj.js","utils-8yQyvEtx.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CBCFR8Sn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-rQaXkUHa.js","snippetPresets-J5KpBTgV.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-DTNSD-0M.js","ApiExamples-BVxVH4Cj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BxdQ2vIi.js","shallow-BjV2tFiD.js","getApiPlaygroundDisplay-C_55tL4O.js","CodeSnippet-C0JpiCOC.js","CodeSnippets-w9Ps7djG.js","getPastedJson-BDfB-H8d.js","icon-g-kUkkO9.js","MethodPill-v4l6fq0h.js","DuplicateIcon-CvLo-CfU.js","createIcon-165clrrV.js","DynamicMarkdown-D3RQ-fEj.js","SectionHeading-vvo-3yLf.js","axios-vUo_bRtp.js","Markdown-CMT1uFWQ.js","clsx-C8f2yC9R.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CI2D8R2Y.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-k78Wrw_e.js"]}