Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of deviceIds (up to 500 per call). Prefer this over calling getDeviceCustomFields once per device.
Custom fields grouped by device id, in the same order as the input deviceIds.
Show child attributes
⌘I
{"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":""},"chroma":{"liveDeploymentHistoryId":"6ae05953fe7e4ab2b711894b","collectionId":"1fe7f1c6-af04-4d9d-ac0f-1df30fc0927a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae05953fe7e4ab2b711894b"},"feedback":{"thumbs":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae06e268bb07bca7fa08df4","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"en","tag":"Developers","count":260},{"language":"en","tag":"API Reference","count":257},{"language":"en","tag":"Documentation","count":126},{"language":"en","tag":"Device Management","count":76},{"language":"en","tag":"Devices","count":56},{"language":"en","tag":"Saas","count":43},{"language":"en","tag":"Controls","count":25},{"language":"en","tag":"Onboardings","count":24},{"language":"en","tag":"Changelog","count":19},{"language":"en","tag":"Global Purchasing","count":19}],"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":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"isAtlas":false,"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:.75rem;font-weight:600;margin-right:4px;display:inline-block}.badge-write{background:#b42318}.badge-company,.badge-workspace,.badge-write{color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;margin-right:4px;display:inline-block}.badge-company{background:#0284c7}.badge-workspace{background:#6366f1}.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}}.changelog-same-day,.update-container:has(.changelog-same-day) [data-component-part=update-label],.update-container:has(.changelog-same-day) a[href^=\"#\"][aria-label^=\"Navigate to changelog\"]{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/get-custom-fields-for-multiple-devices","slug":"/api-reference/devices/get-custom-fields-for-multiple-devices","pageMetadata":{"title":"Get custom fields for multiple devices","description":"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of `deviceIds` (up to 500 per call). Prefer this over calling `getDeviceCustomFields` once per device.","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","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: [\"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of \", _jsx(_components.code, {\n children: \"deviceIds\"\n }), \" (up to 500 per call). Prefer this over calling \", _jsx(_components.code, {\n children: \"getDeviceCustomFields\"\n }), \" once per device.\"]\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-read`,children:`Key: Read`}),`\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":"Get custom fields for multiple devices","description":"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of `deviceIds` (up to 500 per call). Prefer this over calling `getDeviceCustomFields` once per device.","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of `deviceIds` (up to 500 per call). Prefer this over calling `getDeviceCustomFields` once per device.","operationId":"getDevicesCustomFields","parameters":[],"requestBody":"2fd6c911-8f89-41d3-9d74-bb546c1256bb","responses":{"default":"ccda4596-d6fd-411f-81a1-a26d98229574"},"summary":"Get custom fields for multiple devices","tags":["Devices"],"x-primo-access-level":"read","x-primo-access-scope":["company"],"x-badges":[{"name":"Key: Read","className":"badge-read","color":"#0F766E"},{"name":"Scope: Company","className":"badge-company","color":"#0284C7"}],"x-mint":{"content":"\u003cspan className=\"badge-read\">Key: Read\u003c/span>\u003cspan className=\"badge-company\">Scope: Company\u003c/span>"},"method":"post","type":"path","servers":["59132592-970b-4291-9838-e6858bffdf92"],"security":["e7679e53-18cd-46ef-ba6e-a3e789879177"],"path":"/devices/custom-fields","baseUrlOptions":["https://api.getprimo.com"],"title":"Get custom fields for multiple devices","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"deviceIds":{"description":"Device ids to fetch custom fields for. Up to 500 per call.","minItems":1,"maxItems":500,"type":"array","items":{"type":"string","uniqueKey":"deviceIds.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"deviceIds","typeLabel":"string[]"}},"required":["deviceIds"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"deviceIds":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"ccda4596-d6fd-411f-81a1-a26d98229574":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Custom fields grouped by device id, in the same order as the input `deviceIds`.","items":{"type":"object","properties":{"deviceId":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].deviceId","typeLabel":"string"},"customFields":{"type":"array","items":{"type":"object","properties":{"field":{"type":"object","properties":{"id":{"description":"CustomField id (MongoDB ObjectId string).","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.id","typeLabel":"string"},"label":{"type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.label","typeLabel":"string"},"fieldType":{"description":"Type of data this field holds.","type":"string","enum":["SELECT","MULTI_SELECT","CHECKBOX","TEXT","DATE","NUMBER","URL","IMAGE"],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.fieldType","typeLabel":"enum\u003cstring>"},"applyTo":{"type":"array","items":{"type":"string","enum":["DEVICE","ACCESSORY","EMPLOYEE","ORDER"],"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.applyTo.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.applyTo","typeLabel":"enum\u003cstring>[]"},"options":{"description":"Option catalog. Non-empty only for SELECT / MULTI_SELECT fields. Use option `id` when writing values.","type":"array","items":{"type":"object","properties":{"id":{"description":"Stable UUID of the option. Use this id for SELECT / MULTI_SELECT value writes.","type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.options.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"value":{"description":"Display label of the option (mutable — ids are the stable identity).","type":"string","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.options.items.[INDEX].value","typeLabel":"string"}},"required":["id","value"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.options.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field.options","typeLabel":"object[]"}},"required":["id","label","fieldType","applyTo","options"],"additionalProperties":false,"isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].field","typeLabel":"object"},"value":{"oneOf":[{"type":"boolean","description":"Current stored value for this field on this device, or null when unset. For SELECT / MULTI_SELECT the value is the option id (or array of ids). For CHECKBOX it is a boolean. For DATE it is an ISO date string.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.0","typeLabel":"boolean"},{"type":"number","description":"Current stored value for this field on this device, or null when unset. For SELECT / MULTI_SELECT the value is the option id (or array of ids). For CHECKBOX it is a boolean. For DATE it is an ISO date string.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.1","typeLabel":"number"},{"type":"string","description":"Current stored value for this field on this device, or null when unset. For SELECT / MULTI_SELECT the value is the option id (or array of ids). For CHECKBOX it is a boolean. For DATE it is an ISO date string.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.2","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.3.items.[INDEX]","typeLabel":"string"},"description":"Current stored value for this field on this device, or null when unset. For SELECT / MULTI_SELECT the value is the option id (or array of ids). For CHECKBOX it is a boolean. For DATE it is an ISO date string.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.3","typeLabel":"string[]"},{"type":"null","description":"Current stored value for this field on this device, or null when unset. For SELECT / MULTI_SELECT the value is the option id (or array of ids). For CHECKBOX it is a boolean. For DATE it is an ISO date string.","isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.4","typeLabel":"null"}],"isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value","typeLabel":"boolean | number | string | string[] | null"}},"required":["field","value"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items.items.[INDEX].customFields","typeLabel":"object[]"}},"required":["deviceId","customFields"],"additionalProperties":false,"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"object[]"}},"required":["items"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"items":[{"deviceId":"\u003cstring>","customFields":[{"field":{"id":"\u003cstring>","label":"\u003cstring>","fieldType":"SELECT","applyTo":["DEVICE"],"options":[{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","value":"\u003cstring>"}]},"value":true}]}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e7679e53-18cd-46ef-ba6e-a3e789879177":{"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":{"59132592-970b-4291-9838-e6858bffdf92":{"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":"Get custom fields for multiple devices - Primo Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/devices/get-custom-fields-for-multiple-devices","matchLevel":0}}},"lastModified":"2026-10-26T08:33:10.346Z","originalFileLocation":"api-reference/devices/get-custom-fields-for-multiple-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=\"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of deviceIds (up to 500 per call). Prefer this over calling getDeviceCustomFields once per device.\">\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=\"Get custom fields for multiple devices - Primo Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of deviceIds (up to 500 per call). Prefer this over calling getDeviceCustomFields once per device.\">\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/get-custom-fields-for-multiple-devices\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://primo.mintlify.app/_mintlify/api/og/v2?division=Devices\u0026amp;title=Get+custom+fields+for+multiple+devices\u0026amp;description=Return+all+Active+custom+field+definitions+for+MULTIPLE+devices+in+one+call%2C+each+paired+with+the+current+stored+value+%28or+null+when+unset%29%2C+grouped+by+device+i\u0026amp;theme=1a34693c49992bd87ad438c4\u0026amp;signature=86dcc09ee05c5f3903a7e92cdfb186a860354f5412b7c3f668c52234da1cc7c8\">\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=\"Get custom fields for multiple devices - Primo Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of deviceIds (up to 500 per call). Prefer this over calling getDeviceCustomFields once per device.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://primo.mintlify.app/_mintlify/api/og/v2?division=Devices\u0026amp;title=Get+custom+fields+for+multiple+devices\u0026amp;description=Return+all+Active+custom+field+definitions+for+MULTIPLE+devices+in+one+call%2C+each+paired+with+the+current+stored+value+%28or+null+when+unset%29%2C+grouped+by+device+i\u0026amp;theme=1a34693c49992bd87ad438c4\u0026amp;signature=86dcc09ee05c5f3903a7e92cdfb186a860354f5412b7c3f668c52234da1cc7c8\">\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/get-custom-fields-for-multiple-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/get-custom-fields-for-multiple-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/get-custom-fields-for-multiple-devices#webpage\",\"url\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-devices\",\"name\":\"Get custom fields for multiple devices\",\"description\":\"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of deviceIds (up to 500 per call). Prefer this over calling getDeviceCustomFields once per device.\",\"dateModified\":\"2026-10-26T08:33:10.346Z\",\"isPartOf\":{\"@id\":\"https://docs.getprimo.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-devices#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-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\":\"Get custom fields for multiple devices\",\"item\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-devices\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-devices#apireference\",\"headline\":\"Get custom fields for multiple devices\",\"name\":\"Get custom fields for multiple devices\",\"description\":\"Return all Active custom field definitions for MULTIPLE devices in one call, each paired with the current stored value (or null when unset), grouped by device id. Provide a list of deviceIds (up to 500 per call). Prefer this over calling getDeviceCustomFields once per device.\",\"url\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-devices\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getprimo.com/api-reference/devices/get-custom-fields-for-multiple-devices#webpage\"},\"dateModified\":\"2026-10-26T08:33:10.346Z\",\"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\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","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/october"}]},{"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"}]},{"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"}]},{"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":"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","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","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","description":"Return all Active custom field definitions for ONE device, each paired with the current stored value (or null when unset). For SELECT / MULTI_SELECT fields the `options` catalog is included so you can map option ids to labels. For many devices at once, use `getDevicesCustomFields` instead of calling this endpoint in a loop.","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","description":"Set or overwrite a custom field value on a device. Idempotent. Returns the updated field (definition + value). For SELECT supply the option id (string); for MULTI_SELECT supply an array of option ids. Option ids can be read from the `getDeviceCustomFields` endpoint.","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 your own ticket","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-your-own-ticket"},{"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":"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 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 a SaaS provisioning rule draft","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json put /saas/{saasId}/rule","href":"/api-reference/saas/update-a-saas-provisioning-rule-draft"},{"title":"Publish a SaaS provisioning rule","deprecated":null,"version":null,"openapi":"https://api.getprimo.com/openapi.json post /saas/{saasId}/rule/publish","href":"/api-reference/saas/publish-a-saas-provisioning-rule"},{"title":"Preview the SaaS accounts the rules 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-rules-grant-to-a-person"},{"title":"Preview the issues the rule 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-rule-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":"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":"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":"Get custom fields for multiple devices - Primo Documentation","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}