[{"data":1,"prerenderedAt":665},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Finfuse-iot\u002Fprovisioning":361,"\u002Fdocs\u002Finfuse-iot\u002Fprovisioning-surround":660},[4,264,315,342],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":263},"Docs","i-lucide-book-open","\u002Fdocs","1.docs",[10,30,57,96,119,194,201,227],{"title":11,"path":12,"stem":13,"children":14,"icon":29},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[15,17,21,25],{"title":11,"path":12,"stem":13,"icon":16},"i-lucide-house",{"title":18,"path":19,"stem":20},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","1.docs\u002F1.getting-started\u002F2.platform-overview",{"title":22,"path":23,"stem":24},"Create an Organisation","\u002Fdocs\u002Fgetting-started\u002Fcreate-an-organisation","1.docs\u002F1.getting-started\u002F3.create-an-organisation",{"title":26,"path":27,"stem":28},"Quickstarts","\u002Fdocs\u002Fgetting-started\u002Fquickstarts","1.docs\u002F1.getting-started\u002F4.quickstarts","i-lucide-rocket",{"title":31,"path":32,"stem":33,"children":34,"icon":56},"Admin Center","\u002Fdocs\u002Finfuse-cloud","1.docs\u002F2.infuse-cloud\u002F1.index",[35,36,40,44,48,52],{"title":31,"path":32,"stem":33},{"title":37,"path":38,"stem":39},"Create or Switch Organisations","\u002Fdocs\u002Finfuse-cloud\u002Fcreate-or-switch-organisations","1.docs\u002F2.infuse-cloud\u002F2.create-or-switch-organisations",{"title":41,"path":42,"stem":43},"Organisation Profile","\u002Fdocs\u002Finfuse-cloud\u002Forganisation-profile","1.docs\u002F2.infuse-cloud\u002F3.organisation-profile",{"title":45,"path":46,"stem":47},"Members and Invitations","\u002Fdocs\u002Finfuse-cloud\u002Fmembers-and-invitations","1.docs\u002F2.infuse-cloud\u002F4.members-and-invitations",{"title":49,"path":50,"stem":51},"Member Roles","\u002Fdocs\u002Finfuse-cloud\u002Fmember-roles","1.docs\u002F2.infuse-cloud\u002F5.member-roles",{"title":53,"path":54,"stem":55},"API Access","\u002Fdocs\u002Finfuse-cloud\u002Fapi-access","1.docs\u002F2.infuse-cloud\u002F6.api-access","i-lucide-building-2",{"title":58,"path":59,"stem":60,"children":61,"icon":95},"Infuse IoT","\u002Fdocs\u002Finfuse-iot","1.docs\u002F3.infuse-iot\u002F1.index",[62,63,67,71,75,79,83,87,91],{"title":58,"path":59,"stem":60},{"title":64,"path":65,"stem":66},"Devices","\u002Fdocs\u002Finfuse-iot\u002Fdevices","1.docs\u002F3.infuse-iot\u002F2.devices",{"title":68,"path":69,"stem":70},"Provisioning","\u002Fdocs\u002Finfuse-iot\u002Fprovisioning","1.docs\u002F3.infuse-iot\u002F3.provisioning",{"title":72,"path":73,"stem":74},"Telemetry","\u002Fdocs\u002Finfuse-iot\u002Ftelemetry","1.docs\u002F3.infuse-iot\u002F4.telemetry",{"title":76,"path":77,"stem":78},"Commands","\u002Fdocs\u002Finfuse-iot\u002Fcommands","1.docs\u002F3.infuse-iot\u002F5.commands",{"title":80,"path":81,"stem":82},"Firmware","\u002Fdocs\u002Finfuse-iot\u002Ffirmware","1.docs\u002F3.infuse-iot\u002F6.firmware",{"title":84,"path":85,"stem":86},"Definitions","\u002Fdocs\u002Finfuse-iot\u002Fdefinitions","1.docs\u002F3.infuse-iot\u002F7.definitions",{"title":88,"path":89,"stem":90},"Connectivity","\u002Fdocs\u002Finfuse-iot\u002Fconnectivity","1.docs\u002F3.infuse-iot\u002F8.connectivity",{"title":92,"path":93,"stem":94},"SDK Reference","\u002Fdocs\u002Finfuse-iot\u002Fsdk-reference","1.docs\u002F3.infuse-iot\u002F9.sdk-reference","i-lucide-radio-tower",{"title":97,"path":98,"stem":99,"children":100,"icon":118},"Infuse DB","\u002Fdocs\u002Finfuse-db","1.docs\u002F4.infuse-db\u002F1.index",[101,102,106,110,114],{"title":97,"path":98,"stem":99},{"title":103,"path":104,"stem":105},"Datasets","\u002Fdocs\u002Finfuse-db\u002Fdatasets","1.docs\u002F4.infuse-db\u002F2.datasets",{"title":107,"path":108,"stem":109},"Ingestion","\u002Fdocs\u002Finfuse-db\u002Fingestion","1.docs\u002F4.infuse-db\u002F3.ingestion",{"title":111,"path":112,"stem":113},"Querying","\u002Fdocs\u002Finfuse-db\u002Fquerying","1.docs\u002F4.infuse-db\u002F4.querying",{"title":115,"path":116,"stem":117},"Retention","\u002Fdocs\u002Finfuse-db\u002Fretention","1.docs\u002F4.infuse-db\u002F5.retention","i-lucide-database",{"title":120,"path":121,"stem":122,"children":123,"icon":193},"Marketplace","\u002Fdocs\u002Fmarketplace","1.docs\u002F5.marketplace\u002F1.index",[124,125,129,133,161],{"title":120,"path":121,"stem":122},{"title":126,"path":127,"stem":128},"Marketplace Instances","\u002Fdocs\u002Fmarketplace\u002Finstances","1.docs\u002F5.marketplace\u002F2.instances",{"title":130,"path":131,"stem":132},"Marketplace Roles","\u002Fdocs\u002Fmarketplace\u002Froles","1.docs\u002F5.marketplace\u002F3.roles",{"title":134,"path":135,"stem":136,"children":137,"icon":160},"Developers","\u002Fdocs\u002Fmarketplace\u002Fdevelopers","1.docs\u002F5.marketplace\u002Fdevelopers\u002F1.index",[138,140,144,148,152,156],{"title":139,"path":135,"stem":136},"Marketplace Developers",{"title":141,"path":142,"stem":143},"Create a Product","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fcreate-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F2.create-product",{"title":145,"path":146,"stem":147},"Upload Assets","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fupload-assets","1.docs\u002F5.marketplace\u002Fdevelopers\u002F3.upload-assets",{"title":149,"path":150,"stem":151},"Releases and Versions","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Freleases-and-versions","1.docs\u002F5.marketplace\u002Fdevelopers\u002F4.releases-and-versions",{"title":153,"path":154,"stem":155},"Pricing","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpricing","1.docs\u002F5.marketplace\u002Fdevelopers\u002F5.pricing",{"title":157,"path":158,"stem":159},"Publish a Product","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpublish-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F6.publish-product","i-lucide-code-2",{"title":162,"path":163,"stem":164,"children":165,"icon":192},"Providers","\u002Fdocs\u002Fmarketplace\u002Fproviders","1.docs\u002F5.marketplace\u002Fproviders\u002F1.index",[166,168,172,176,180,184,188],{"title":167,"path":163,"stem":164},"Marketplace Providers",{"title":169,"path":170,"stem":171},"Discover Products","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fdiscover-products","1.docs\u002F5.marketplace\u002Fproviders\u002F2.discover-products",{"title":173,"path":174,"stem":175},"Create and Manage Listings","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcreate-listings","1.docs\u002F5.marketplace\u002Fproviders\u002F3.create-listings",{"title":177,"path":178,"stem":179},"Build a Storefront","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fbuild-a-storefront","1.docs\u002F5.marketplace\u002Fproviders\u002F4.build-a-storefront",{"title":181,"path":182,"stem":183},"Checkout Flow","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcheckout-flow","1.docs\u002F5.marketplace\u002Fproviders\u002F5.checkout-flow",{"title":185,"path":186,"stem":187},"Purchases","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fpurchases","1.docs\u002F5.marketplace\u002Fproviders\u002F6.purchases",{"title":189,"path":190,"stem":191},"Install Purchased Products","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Finstall-purchased-products","1.docs\u002F5.marketplace\u002Fproviders\u002F7.install-purchased-products","i-lucide-handshake","i-lucide-store",{"title":195,"path":196,"stem":197,"children":198,"icon":200},"Infuse Analytics","\u002Fdocs\u002Finfuse-analytics","1.docs\u002F6.infuse-analytics\u002F1.index",[199],{"title":195,"path":196,"stem":197},"i-lucide-chart-no-axes-combined",{"title":202,"path":203,"stem":204,"children":205,"icon":226},"Concepts","\u002Fdocs\u002Fconcepts","1.docs\u002F7.concepts\u002F1.index",[206,207,211,215,218,222],{"title":202,"path":203,"stem":204},{"title":208,"path":209,"stem":210},"Organisations","\u002Fdocs\u002Fconcepts\u002Forganisations","1.docs\u002F7.concepts\u002F2.organisations",{"title":212,"path":213,"stem":214},"Products","\u002Fdocs\u002Fconcepts\u002Fproducts","1.docs\u002F7.concepts\u002F3.products",{"title":64,"path":216,"stem":217},"\u002Fdocs\u002Fconcepts\u002Fdevices","1.docs\u002F7.concepts\u002F5.devices",{"title":219,"path":220,"stem":221},"Entitlements","\u002Fdocs\u002Fconcepts\u002Fentitlements","1.docs\u002F7.concepts\u002F6.entitlements",{"title":223,"path":224,"stem":225},"Marketplace Model","\u002Fdocs\u002Fconcepts\u002Fmarketplace-model","1.docs\u002F7.concepts\u002F7.marketplace-model","i-lucide-map",{"title":228,"path":229,"stem":230,"children":231,"icon":262},"IAM & Access","\u002Fdocs\u002Fiam-and-access","1.docs\u002F8.iam-and-access\u002F1.index",[232,234,238,242,246,250,254,258],{"title":233,"path":229,"stem":230},"IAM and Access",{"title":235,"path":236,"stem":237},"Users, Groups, and Roles","\u002Fdocs\u002Fiam-and-access\u002Fusers-groups-and-roles","1.docs\u002F8.iam-and-access\u002F2.users-groups-and-roles",{"title":239,"path":240,"stem":241},"Permissions","\u002Fdocs\u002Fiam-and-access\u002Fpermissions","1.docs\u002F8.iam-and-access\u002F3.permissions",{"title":243,"path":244,"stem":245},"Service Accounts","\u002Fdocs\u002Fiam-and-access\u002Fservice-accounts","1.docs\u002F8.iam-and-access\u002F4.service-accounts",{"title":247,"path":248,"stem":249},"API Tokens","\u002Fdocs\u002Fiam-and-access\u002Fapi-tokens","1.docs\u002F8.iam-and-access\u002F5.api-tokens",{"title":251,"path":252,"stem":253},"Token Exchange","\u002Fdocs\u002Fiam-and-access\u002Ftoken-exchange","1.docs\u002F8.iam-and-access\u002F6.token-exchange",{"title":255,"path":256,"stem":257},"Rotate and Revoke Credentials","\u002Fdocs\u002Fiam-and-access\u002Frotate-and-revoke-credentials","1.docs\u002F8.iam-and-access\u002F7.rotate-and-revoke-credentials",{"title":259,"path":260,"stem":261},"Troubleshooting Auth","\u002Fdocs\u002Fiam-and-access\u002Ftroubleshooting-auth","1.docs\u002F8.iam-and-access\u002F8.troubleshooting-auth","i-lucide-shield-check",false,{"title":265,"path":266,"stem":267,"children":268,"icon":314},"Guides","\u002Fguides","2.guides\u002F1.index",[269,270,282,293,304],{"title":265,"path":266,"stem":267},{"title":271,"path":272,"stem":273,"children":274,"icon":281},"Access","\u002Fguides\u002Faccess","2.guides\u002Faccess\u002F1.index",[275,277],{"title":276,"path":272,"stem":273},"Access Guides",{"title":278,"path":279,"stem":280},"Create an API Token","\u002Fguides\u002Faccess\u002Fcreate-an-api-token","2.guides\u002Faccess\u002F2.create-an-api-token","i-lucide-key-round",{"title":283,"path":284,"stem":285,"children":286,"icon":118},"Data","\u002Fguides\u002Fdata","2.guides\u002Fdata\u002F1.index",[287,289],{"title":288,"path":284,"stem":285},"Data Guides",{"title":290,"path":291,"stem":292},"Stream IoT Data to Infuse DB","\u002Fguides\u002Fdata\u002Fstream-iot-data-to-infuse-db","2.guides\u002Fdata\u002F2.stream-iot-data-to-infuse-db",{"title":294,"path":295,"stem":296,"children":297,"icon":95},"IoT","\u002Fguides\u002Fiot","2.guides\u002Fiot\u002F1.index",[298,300],{"title":299,"path":295,"stem":296},"IoT Guides",{"title":301,"path":302,"stem":303},"Connect an IoT Device","\u002Fguides\u002Fiot\u002Fconnect-a-device","2.guides\u002Fiot\u002F2.connect-a-device",{"title":120,"path":305,"stem":306,"children":307,"icon":193},"\u002Fguides\u002Fmarketplace","2.guides\u002Fmarketplace\u002F1.index",[308,310],{"title":309,"path":305,"stem":306},"Marketplace Guides",{"title":311,"path":312,"stem":313},"Build a Marketplace Storefront","\u002Fguides\u002Fmarketplace\u002Fbuild-a-storefront","2.guides\u002Fmarketplace\u002F2.build-a-storefront","i-lucide-route",{"title":316,"path":317,"stem":318,"children":319,"icon":341},"API Reference","\u002Fapi-reference","3.api-reference\u002F1.index",[320,321,325,329,333,337],{"title":316,"path":317,"stem":318},{"title":322,"path":323,"stem":324},"Admin API","\u002Fapi-reference\u002Fcloud","3.api-reference\u002F2.cloud",{"title":326,"path":327,"stem":328},"Marketplace API","\u002Fapi-reference\u002Fmarketplace","3.api-reference\u002F3.marketplace",{"title":330,"path":331,"stem":332},"IAM API","\u002Fapi-reference\u002Fiam","3.api-reference\u002F4.iam",{"title":334,"path":335,"stem":336},"Infuse IoT API","\u002Fapi-reference\u002Fiot","3.api-reference\u002F5.iot",{"title":338,"path":339,"stem":340},"Infuse DB API","\u002Fapi-reference\u002Fdb","3.api-reference\u002F6.db","i-lucide-braces",{"title":343,"path":344,"stem":345,"children":346,"icon":360},"Resources","\u002Fresources","4.resources\u002F1.index",[347,348,352,356],{"title":343,"path":344,"stem":345},{"title":349,"path":350,"stem":351},"SDKs","\u002Fresources\u002Fsdks","4.resources\u002F2.sdks",{"title":353,"path":354,"stem":355},"OpenAPI Specs","\u002Fresources\u002Fopenapi-specs","4.resources\u002F3.openapi-specs",{"title":357,"path":358,"stem":359},"Examples","\u002Fresources\u002Fexamples","4.resources\u002F4.examples","i-lucide-folder-open",{"id":362,"title":68,"body":363,"description":653,"extension":654,"links":655,"meta":656,"navigation":657,"path":69,"seo":658,"stem":70,"__hash__":659},"docs\u002F1.docs\u002F3.infuse-iot\u002F3.provisioning.md",{"type":364,"value":365,"toc":644},"minimark",[366,370,373,383,388,467,471,474,523,526,530,542,545,549,639],[367,368,369],"p",{},"Provisioning connects a physical or logical device to Infuse IoT so it can authenticate and communicate with the platform.",[367,371,372],{},"Current Infuse IoT provisioning is API-led. Your backend should own the workflow, keep admin credentials server-side, and persist the returned device identifiers and provisioning material in your own secure systems.",[374,375,376],"warning",{},[367,377,378,379,382],{},"Infuse IoT currently uses the legacy organisation-level admin token flow described in ",[380,381,247],"a",{"href":248},". Do not expose Infuse IoT admin credentials in browsers, mobile apps, firmware repositories, or customer-visible examples.",[384,385,387],"h2",{"id":386},"provisioning-flow","Provisioning Flow",[389,390,391,404,413,423,441,447,457,464],"ol",{},[392,393,394,395,399,400,403],"li",{},"Resolve or create the owning organisation with ",[396,397,398],"code",{},"GET \u002Forganisation"," or ",[396,401,402],{},"POST \u002Forganisation",".",[392,405,406,407,399,410,403],{},"Resolve or create the board profile with ",[396,408,409],{},"GET \u002Fboard",[396,411,412],{},"POST \u002Fboard",[392,414,415,416,399,419,422],{},"Resolve or create a network with ",[396,417,418],{},"GET \u002Fnetwork",[396,420,421],{},"POST \u002Fnetwork"," if your deployment model uses networks.",[392,424,425,426,429,430,433,434,433,437,440],{},"Create the device with ",[396,427,428],{},"POST \u002Fdevice",", including ",[396,431,432],{},"mcuId",", ",[396,435,436],{},"boardId",[396,438,439],{},"organisationId",", and any metadata you need for reconciliation.",[392,442,443,444,403],{},"Fetch the cloud public key with ",[396,445,446],{},"GET \u002Fkey\u002FpublicKey",[392,448,449,450,453,454,403],{},"Generate shared or derived device key material with ",[396,451,452],{},"\u002Fkey\u002FsharedSecret"," and ",[396,455,456],{},"\u002Fkey\u002Fderived\u002Fdevice",[392,458,459,460,463],{},"Generate an organisation-scoped MQTT token with ",[396,461,462],{},"POST \u002Fmqtt\u002Ftoken"," when your device or broker integration needs MQTT access.",[392,465,466],{},"Confirm the device can communicate by reading state or last-route data.",[384,468,470],{"id":469},"key-workflows","Key Workflows",[367,472,473],{},"Infuse IoT exposes key endpoints for secure provisioning and device communication:",[475,476,477,490],"table",{},[478,479,480],"thead",{},[481,482,483,487],"tr",{},[484,485,486],"th",{},"Task",[484,488,489],{},"Endpoint",[491,492,493,503,513],"tbody",{},[481,494,495,499],{},[496,497,498],"td",{},"Fetch current cloud public key",[496,500,501],{},[396,502,446],{},[481,504,505,508],{},[496,506,507],{},"Generate a shared secret from a device public key",[496,509,510],{},[396,511,512],{},"POST \u002Fkey\u002FsharedSecret",[481,514,515,518],{},[496,516,517],{},"Derive a device encryption key",[496,519,520],{},[396,521,522],{},"POST \u002Fkey\u002Fderived\u002Fdevice",[367,524,525],{},"Keep key derivation and secret handling inside trusted backend or manufacturing systems. Device-specific credentials should be rotated if a device is replaced, reassigned, or exposed.",[384,527,529],{"id":528},"connectivity-credentials","Connectivity Credentials",[367,531,532,533,535,536,453,538,541],{},"Use ",[396,534,462],{}," to issue a short-lived MQTT token scoped to an organisation. The request includes ",[396,537,439],{},[396,539,540],{},"ttlSeconds","; the response includes the token, issue time, and expiry time.",[367,543,544],{},"MQTT tokens are not a replacement for long-term credential management. Issue them from a trusted backend and respect the expiry time in device or gateway code.",[384,546,548],{"id":547},"related-endpoints","Related Endpoints",[475,550,551,560],{},[478,552,553],{},[481,554,555,558],{},[484,556,557],{},"Group",[484,559,489],{},[491,561,562,578,592,603,617,630],{},[481,563,564,566],{},[496,565,208],{},[496,567,568,433,570,433,572,433,575],{},[396,569,398],{},[396,571,402],{},[396,573,574],{},"GET \u002Forganisation\u002Fid\u002F{id}",[396,576,577],{},"GET \u002Forganisation\u002Fname\u002F{name}",[481,579,580,583],{},[496,581,582],{},"Boards",[496,584,585,433,587,433,589],{},[396,586,409],{},[396,588,412],{},[396,590,591],{},"GET \u002Fboard\u002Fid\u002F{id}",[481,593,594,597],{},[496,595,596],{},"Networks",[496,598,599,433,601],{},[396,600,418],{},[396,602,421],{},[481,604,605,607],{},[496,606,64],{},[496,608,609,433,611,433,614],{},[396,610,428],{},[396,612,613],{},"GET \u002Fdevice\u002FdeviceId\u002F{deviceId}",[396,615,616],{},"GET \u002Fdevice\u002Fid\u002F{id}",[481,618,619,622],{},[496,620,621],{},"Keys",[496,623,624,433,626,433,628],{},[396,625,446],{},[396,627,512],{},[396,629,522],{},[481,631,632,635],{},[496,633,634],{},"MQTT",[496,636,637],{},[396,638,462],{},[367,640,641,642,403],{},"For a full sequence, see ",[380,643,301],{"href":302},{"title":645,"searchDepth":646,"depth":647,"links":648},"",1,2,[649,650,651,652],{"id":386,"depth":647,"text":387},{"id":469,"depth":647,"text":470},{"id":528,"depth":647,"text":529},{"id":547,"depth":647,"text":548},"Register devices, derive provisioning keys, and issue connectivity credentials.","md",null,{},true,{"title":68,"description":653},"3Jf2NEQR0F_W9075t_7INTXdMUKuznwN2U7UPoKkk4o",[661,663],{"title":64,"path":65,"stem":66,"description":662,"children":-1},"Understand the Infuse IoT device registry, identifiers, metadata, state, and route lookups.",{"title":72,"path":73,"stem":74,"description":664,"children":-1},"Track device state, routes, logger progress, KV entries, and downstream data flow.",1779344633727]