Connected Tier: AP Inventory & Coordinate Registration
How the Connected tier’s access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey
Connected tier accounts can upload an access-point export from their WLAN controller to pre-seed room fingerprints, cutting the amount of manual survey walking a field tech needs to do. This page explains what the upload does, what it doesn’t do, and how to read the re-survey flags it produces over time.
Connected tier is opt-in and enabled at the account level. If you don’t see the Controller AP Inventory card on your company detail settings, check with your Harbingers account manager to enable it for your company.
No live network connection is made. The AP inventory upload is a one-time file upload. Forager never authenticates to, scans, or otherwise connects to your wireless network — it only reads the export file you provide.
Uploading a controller export gives Forager a list of your access points (name, MAC address, and — depending on the export — the room or floor each AP belongs to). Forager uses that list to pre-seed room fingerprints, so a field tech doing an initial survey has a head start instead of starting from zero in every room.
An admin uploads the export from the company detail page in the admin dashboard. After a successful upload you’ll see the AP count imported and the number of rooms seeded.For a generic CSV export, the file needs these columns:
Column
Required
Notes
base_mac
Yes
The AP’s base MAC address
name
No
Display name shown when placing the AP
bssids
No
Semicolon-separated list of the AP’s radio BSSIDs
tx_power_dbm
No
Transmit power, used for distance-based signal modeling
After an inventory import, an admin can optionally place each imported AP on the floor plan. This is optional — inventory seeding works without it — but it improves per-room precision by letting Forager reason about how far an AP is from a given room, not just which room it was reported in.Coordinate registration reuses the floor’s existing scale from Floor Plan Processing — the same one set from the app’s Set Scale flow — rather than a separate calibration step. If a floor hasn’t been scale-calibrated yet, distance-based seeding is skipped for that floor until it is; inventory seeding by room assignment still works.
Distance-based seeding assumes a single, uniform scale across the entire floor plan image. If a floor plan is a collage of multiple source drawings, or has been cropped/rescaled unevenly, distances calculated from one part of the image will be wrong for another part. For collaged or cropped floor plans, skip coordinate registration and rely on floor-level room tagging instead.
AP inventories change over time — access points get replaced, relocated, or decommissioned. When a Connected tier admin uploads a newer controller export, Forager compares it against the previous import. Any room whose seeded fingerprint relied on an AP that is now missing or has moved gets flagged for re-survey.Flagged rooms appear in the Rooms Needing Re-Survey card on the company detail page, showing the room name, the reason it was flagged, and when it was flagged. A room with no flags shown means its AP inventory is current and no re-survey is needed.Re-survey flags are informational — they don’t block asset tracking in that room, but a fresh survey pass will improve confirmation accuracy until the flag clears on the next successful re-survey.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Forager Help Center","description":"How-to guides, troubleshooting, and integration documentation for Forager customers.","colors":{"primary":"#FFAA17","light":"#FFC653","dark":"#CC8800"},"logo":{"light":"https://mintcdn.com/hiveriselabs/a73B-2zjZV6H2zBb/logo/forager-light.svg?fit=max\u0026auto=format\u0026n=a73B-2zjZV6H2zBb\u0026q=85\u0026s=98669c5a72015a35befe0f696ac667eb","dark":"https://mintcdn.com/hiveriselabs/a73B-2zjZV6H2zBb/logo/forager-dark.svg?fit=max\u0026auto=format\u0026n=a73B-2zjZV6H2zBb\u0026q=85\u0026s=728cf0c7f81261388d50bb0867d41b3d","href":"https://harbinge.rs"},"favicon":"https://mintcdn.com/hiveriselabs/a73B-2zjZV6H2zBb/logo/favicon.png?fit=max\u0026auto=format\u0026n=a73B-2zjZV6H2zBb\u0026q=85\u0026s=3cbd5297a7a6b63399ec4a338502376d","navbar":{"primary":{"type":"button","label":"Go to Dashboard","href":"https://dashboard.harbinge.rs"}},"footer":{"socials":{},"links":[{"header":"Support","items":[{"label":"Email Support","href":"mailto:support@harbinge.rs"}]}]},"contextual":{"options":["copy","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hiveriselabs","hasAudioNarration":false,"actualSubdomain":"hiveriselabs","customDomains":["docs.harbinge.rs"],"gitSource":{"type":"github","owner":"harbingers-llc","repo":"forager-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ace8d3d4b8602691be0f0f4","collectionId":"81f5dd41-cea9-46c6-a916-1f49fb59d518","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ace8d3d4b8602691be0f0f4"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ace8d3d4b8602691be0f0f4","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Field Tech Guide","count":13},{"language":"default","tag":"Dashboard","count":11},{"language":"default","tag":"Integrations","count":9},{"language":"default","tag":"Admin","count":8},{"language":"default","tag":"EC Inspection Rounds","count":4},{"language":"default","tag":"Troubleshooting","count":4},{"language":"default","tag":"Getting Started","count":3},{"language":"default","tag":"API Reference","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"dashboard/connected-tier","slug":"/dashboard/connected-tier","pageMetadata":{"title":"Connected Tier: AP Inventory \u0026 Coordinate Registration","description":"How the Connected tier's access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey","href":"/dashboard/connected-tier"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How the Connected tier’s access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey\"\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){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Note,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Connected tier accounts can upload an access-point export from their WLAN controller to pre-seed room fingerprints, cutting the amount of manual survey walking a field tech needs to do. This page explains what the upload does, what it doesn’t do, and how to read the re-survey flags it produces over time.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Connected tier is opt-in and enabled at the account level. If you don’t see the `,_jsx(_components.strong,{children:`Controller AP Inventory`}),` card on your company detail settings, check with your Harbingers account manager to enable it for your company.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`No live network connection is made.`}),` The AP inventory upload is a one-time file upload. Forager never authenticates to, scans, or otherwise connects to your wireless network — it only reads the export file you provide.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-upload-does`,children:`What the upload does`}),`\n`,_jsx(_components.p,{children:`Uploading a controller export gives Forager a list of your access points (name, MAC address, and — depending on the export — the room or floor each AP belongs to). Forager uses that list to pre-seed room fingerprints, so a field tech doing an initial survey has a head start instead of starting from zero in every room.`}),`\n`,_jsx(Heading,{level:`2`,id:`supported-exports`,children:`Supported exports`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Vendor`}),_jsx(_components.th,{children:`Export type`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Ubiquiti UniFi`}),_jsx(_components.td,{children:`Controller AP export`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Cisco Meraki`}),_jsx(_components.td,{children:`Dashboard AP export`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Generic`}),_jsx(_components.td,{children:`CSV`})]})]})]}),`\n`,_jsx(_components.p,{children:`An admin uploads the export from the company detail page in the admin dashboard. After a successful upload you’ll see the AP count imported and the number of rooms seeded.`}),`\n`,_jsx(_components.p,{children:`For a generic CSV export, the file needs these columns:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Column`}),_jsx(_components.th,{children:`Required`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`base_mac`})}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`The AP’s base MAC address`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`name`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Display name shown when placing the AP`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`bssids`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Semicolon-separated list of the AP’s radio BSSIDs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tx_power_dbm`})}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Transmit power, used for distance-based signal modeling`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`controller_ap_id`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`Falls back to `,_jsx(_components.code,{children:`base_mac`}),` if omitted`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`optional-ap-coordinate-registration`,children:`Optional: AP coordinate registration`}),`\n`,_jsx(_components.p,{children:`After an inventory import, an admin can optionally place each imported AP on the floor plan. This is optional — inventory seeding works without it — but it improves per-room precision by letting Forager reason about how far an AP is from a given room, not just which room it was reported in.`}),`\n`,_jsxs(_components.p,{children:[`Coordinate registration reuses the floor’s existing scale from `,_jsx(_components.a,{href:`/admin/floor-plan-processing`,children:`Floor Plan Processing`}),` — the same one set from the app’s `,_jsx(_components.strong,{children:`Set Scale`}),` flow — rather than a separate calibration step. If a floor hasn’t been scale-calibrated yet, distance-based seeding is skipped for that floor until it is; inventory seeding by room assignment still works.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Distance-based seeding assumes a `,_jsx(_components.strong,{children:`single, uniform scale`}),` across the entire floor plan image. If a floor plan is a collage of multiple source drawings, or has been cropped/rescaled unevenly, distances calculated from one part of the image will be wrong for another part. For collaged or cropped floor plans, skip coordinate registration and rely on floor-level room tagging instead.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`re-survey-flags`,children:`Re-survey flags`}),`\n`,_jsx(_components.p,{children:`AP inventories change over time — access points get replaced, relocated, or decommissioned. When a Connected tier admin uploads a newer controller export, Forager compares it against the previous import. Any room whose seeded fingerprint relied on an AP that is now missing or has moved gets flagged for re-survey.`}),`\n`,_jsxs(_components.p,{children:[`Flagged rooms appear in the `,_jsx(_components.strong,{children:`Rooms Needing Re-Survey`}),` card on the company detail page, showing the room name, the reason it was flagged, and when it was flagged. A room with no flags shown means its AP inventory is current and no re-survey is needed.`]}),`\n`,_jsx(_components.p,{children:`Re-survey flags are informational — they don’t block asset tracking in that room, but a fresh survey pass will improve confirmation accuracy until the flag clears on the next successful re-survey.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Connected Tier: AP Inventory \u0026 Coordinate Registration","description":"How the Connected tier's access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey","href":"/dashboard/connected-tier"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What the upload does","slug":"what-the-upload-does","depth":2,"children":[]},{"title":"Supported exports","slug":"supported-exports","depth":2,"children":[]},{"title":"Optional: AP coordinate registration","slug":"optional-ap-coordinate-registration","depth":2,"children":[]},{"title":"Re-survey flags","slug":"re-survey-flags","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"hiveriselabs","siteName":"Forager Help Center","title":"Connected Tier: AP Inventory \u0026 Coordinate Registration - Forager Help Center","contextualStarterQuestions":[{"_id":"6a874680f6dec70728cf2bcf","deploymentId":"6a0390079d183a7ca92ab03e","questionText":"What formats can I upload?","status":"active","generatedBy":"contextual","path":"dashboard/connected-tier","createdAt":"2026-08-20T18:25:04.539Z","updatedAt":"2026-08-20T18:25:04.539Z","__v":0},{"_id":"6a874680f6dec70728cf2bd0","deploymentId":"6a0390079d183a7ca92ab03e","questionText":"Do you connect to my network?","status":"active","generatedBy":"contextual","path":"dashboard/connected-tier","createdAt":"2026-08-20T18:25:04.539Z","updatedAt":"2026-08-20T18:25:04.539Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-20T18:24:49.627Z","originalFileLocation":"dashboard/connected-tier.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How the Connected tier\u0026#x27;s access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey\">\u003cmeta data-mint-head name=\"application-name\" content=\"Forager Help Center\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_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/hiveriselabs/K0W1fw4It_lWrtth/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Connected Tier: AP Inventory \u0026amp; Coordinate Registration - Forager Help Center\">\u003cmeta data-mint-head property=\"og:description\" content=\"How the Connected tier\u0026#x27;s access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Forager Help Center\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.harbinge.rs/dashboard/connected-tier\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hiveriselabs.mintlify.app/_mintlify/api/og/v2?division=Dashboard\u0026amp;title=Connected+Tier%3A+AP+Inventory+%26+Coordinate+Registration\u0026amp;description=How+the+Connected+tier%27s+access-point+inventory+upload+pre-seeds+room+fingerprints+and+flags+rooms+that+need+a+re-survey\u0026amp;theme=e4d5f882e4b85e6091be7a93\u0026amp;signature=2d64bce8145e54b379e609843e9bd1c6dcadebb715662425a9b6d5c7634a8dc8\">\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=\"Connected Tier: AP Inventory \u0026amp; Coordinate Registration - Forager Help Center\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How the Connected tier\u0026#x27;s access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hiveriselabs.mintlify.app/_mintlify/api/og/v2?division=Dashboard\u0026amp;title=Connected+Tier%3A+AP+Inventory+%26+Coordinate+Registration\u0026amp;description=How+the+Connected+tier%27s+access-point+inventory+upload+pre-seeds+room+fingerprints+and+flags+rooms+that+need+a+re-survey\u0026amp;theme=e4d5f882e4b85e6091be7a93\u0026amp;signature=2d64bce8145e54b379e609843e9bd1c6dcadebb715662425a9b6d5c7634a8dc8\">\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/hiveriselabs/K0W1fw4It_lWrtth/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Forager Help Center\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FFAA17\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.harbinge.rs/dashboard/connected-tier\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/dashboard/connected-tier.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.harbinge.rs/#organization\",\"name\":\"Forager Help Center\",\"url\":\"https://docs.harbinge.rs\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hiveriselabs/a73B-2zjZV6H2zBb/logo/forager-light.svg?fit=max\u0026auto=format\u0026n=a73B-2zjZV6H2zBb\u0026q=85\u0026s=98669c5a72015a35befe0f696ac667eb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.harbinge.rs#website\",\"name\":\"Forager Help Center\",\"url\":\"https://docs.harbinge.rs\",\"publisher\":{\"@id\":\"https://docs.harbinge.rs/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.harbinge.rs/dashboard/connected-tier#webpage\",\"url\":\"https://docs.harbinge.rs/dashboard/connected-tier\",\"name\":\"Connected Tier: AP Inventory \u0026 Coordinate Registration\",\"description\":\"How the Connected tier's access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey\",\"dateModified\":\"2026-08-20T18:24:49.627Z\",\"isPartOf\":{\"@id\":\"https://docs.harbinge.rs#website\"},\"breadcrumb\":{\"@id\":\"https://docs.harbinge.rs/dashboard/connected-tier#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.harbinge.rs/dashboard/connected-tier#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dashboard\",\"item\":\"https://docs.harbinge.rs/dashboard/floor-plan\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Connected Tier: AP Inventory \u0026 Coordinate Registration\",\"item\":\"https://docs.harbinge.rs/dashboard/connected-tier\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.harbinge.rs/dashboard/connected-tier#article\",\"headline\":\"Connected Tier: AP Inventory \u0026 Coordinate Registration\",\"name\":\"Connected Tier: AP Inventory \u0026 Coordinate Registration\",\"description\":\"How the Connected tier's access-point inventory upload pre-seeds room fingerprints and flags rooms that need a re-survey\",\"url\":\"https://docs.harbinge.rs/dashboard/connected-tier\",\"mainEntityOfPage\":{\"@id\":\"https://docs.harbinge.rs/dashboard/connected-tier#webpage\"},\"dateModified\":\"2026-08-20T18:24:49.627Z\",\"publisher\":{\"@id\":\"https://docs.harbinge.rs/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.harbinge.rs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Forager Help Center\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Forager Help Center","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"What is Forager?","href":"/getting-started/introduction"},{"title":"Onboarding Checklist","href":"/getting-started/onboarding-checklist"},{"title":"Glossary","href":"/getting-started/glossary"}]},{"group":"Field Tech Guide","pages":[{"title":"Home Screen","href":"/field-tech/home-screen"},{"title":"Scanning Assets","href":"/field-tech/scanning-assets"},{"title":"Understanding Confirmations","href":"/field-tech/understanding-confirmations"},{"title":"Biometric App Lock","href":"/field-tech/biometric-lock"},{"title":"Raven Fleet","href":"/field-tech/raven-fleet"},{"title":"Survey Mode","href":"/field-tech/survey-mode"},{"title":"Coverage","href":"/field-tech/coverage"},{"title":"Attestation Log","href":"/field-tech/attestation-log"},{"title":"Signal Diagnostic","href":"/field-tech/signal-diagnostic"},{"title":"Field Scanner","href":"/field-tech/field-scanner"},{"title":"Device Hunt","href":"/field-tech/device-hunt"},{"title":"Most Wanted","href":"/field-tech/most-wanted"},{"title":"Placing Assets on Floor Plans","href":"/field-tech/inventory-placement"}]},{"group":"Dashboard","pages":[{"title":"Floor Plan View","href":"/dashboard/floor-plan"},{"title":"Plan Pipeline","href":"/dashboard/plan-pipeline"},{"title":"Managing Your Team","href":"/dashboard/team"},{"title":"Managing Sites","href":"/dashboard/sites"},{"title":"Reports","href":"/dashboard/reports"},{"title":"Assets","href":"/dashboard/assets"},{"title":"Webhook Settings","href":"/dashboard/webhook-settings"},{"title":"API Keys \u0026 Zapier","href":"/dashboard/api-keys"},{"title":"Scanner Settings","href":"/dashboard/scanner-settings"},{"title":"Attestation Log","description":"View every asset scan your team has recorded, with optional asset tag photos","href":"/dashboard/attestations"},{"title":"Connected Tier: AP Inventory \u0026 Coordinate Registration","href":"/dashboard/connected-tier"}]},{"group":"EC Inspection Rounds","pages":[{"title":"EC Inspection Rounds Overview","description":"Joint Commission Environment-of-Care inspection rounds on Forager's attestation loop — item types, standards, and the layered evidence model","href":"/ec-rounds/overview"},{"title":"EC Rounds — Admin Guide","href":"/ec-rounds/admin-guide"},{"title":"EC Rounds — Inspector Guide","href":"/ec-rounds/inspector-guide"},{"title":"EC Rounds — Onboarding Runbook","href":"/ec-rounds/onboarding"}]},{"group":"Admin","pages":[{"title":"Raven Fleet (Admin)","href":"/admin/raven-fleet"},{"title":"Gateway Management","href":"/admin/gateway-management"},{"title":"Sprint Management","href":"/admin/sprint-management"},{"title":"Remediation Sprints","href":"/admin/remediation-sprints"},{"title":"Inventory Placement Mode","href":"/admin/inventory-placement"},{"title":"Floor Numbers \u0026 Building Floor Settings","href":"/admin/floor-numbering"},{"title":"Floor Plan Processing (Floorline)","href":"/admin/floor-plan-processing"},{"title":"Self-Hosting Forager","href":"/admin/self-hosting"}]},{"group":"Integrations","pages":[{"title":"Webhook Reference","href":"/integrations/webhook-reference"},{"title":"Zapier Integration","href":"/integrations/zapier"},{"title":"Make.com Integration","href":"/integrations/make"},{"title":"Freshservice Integration","href":"/integrations/freshservice"},{"title":"Jira Service Management Assets","href":"/integrations/jira-assets"},{"title":"BMC Helix ITSM","href":"/integrations/bmchelix"},{"title":"Ivanti Neurons for ITSM","href":"/integrations/ivanti"},{"title":"ServiceNow — Scripted REST API","href":"/integrations/servicenow-scripted-rest-api"},{"title":"ServiceNow — Import Sets","href":"/integrations/servicenow-import-sets"}]},{"group":"API Reference","pages":[{"group":"API Reference","pages":[{"title":"Attestation recorded","version":null,"deprecated":null,"openapi":"/openapi.yaml webhook attestation","href":"/api-reference/attestation-recorded"}]}]},{"group":"Troubleshooting","pages":[{"title":"App Not Finding My Location","href":"/troubleshooting/app-location"},{"title":"Floor Plan Issues","href":"/troubleshooting/floor-plan"},{"title":"Webhook Not Firing","href":"/troubleshooting/webhooks"},{"title":"Contact Support","icon":"headset","href":"/troubleshooting/contact-support"}]}]},"title":"Connected Tier: AP Inventory \u0026 Coordinate Registration - Forager Help Center","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":[],"chunks":[]}