[{"data":1,"prerenderedAt":686},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Finfuse-iot-cloud\u002Fdefinitions":401,"\u002Fdocs\u002Finfuse-iot-cloud\u002Fdefinitions-surround":681},[4,304,355,382],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":303},"Docs","i-lucide-book-open","\u002Fdocs","1.docs",[10,34,65,120,144,158,234,242,267],{"title":11,"path":12,"stem":13,"children":14,"icon":33},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started\u002F1.index",[15,17,21,25,29],{"title":11,"path":12,"stem":13,"icon":16},"i-lucide-house",{"title":18,"path":19,"stem":20},"Register a User","\u002Fdocs\u002Fgetting-started\u002Fregister-a-user","1.docs\u002F1.getting-started\u002F2.register-a-user",{"title":22,"path":23,"stem":24},"Platform Overview","\u002Fdocs\u002Fgetting-started\u002Fplatform-overview","1.docs\u002F1.getting-started\u002F3.platform-overview",{"title":26,"path":27,"stem":28},"Create an Organisation","\u002Fdocs\u002Fgetting-started\u002Fcreate-an-organisation","1.docs\u002F1.getting-started\u002F4.create-an-organisation",{"title":30,"path":31,"stem":32},"Quickstarts","\u002Fdocs\u002Fgetting-started\u002Fquickstarts","1.docs\u002F1.getting-started\u002F5.quickstarts","i-lucide-rocket",{"title":35,"path":36,"stem":37,"children":38,"icon":64},"Admin Center","\u002Fdocs\u002Finfuse-cloud","1.docs\u002F2.infuse-cloud\u002F1.index",[39,40,44,48,52,56,60],{"title":35,"path":36,"stem":37},{"title":41,"path":42,"stem":43},"Create or Switch Organisations","\u002Fdocs\u002Finfuse-cloud\u002Fcreate-or-switch-organisations","1.docs\u002F2.infuse-cloud\u002F2.create-or-switch-organisations",{"title":45,"path":46,"stem":47},"Organisation Profile","\u002Fdocs\u002Finfuse-cloud\u002Forganisation-profile","1.docs\u002F2.infuse-cloud\u002F3.organisation-profile",{"title":49,"path":50,"stem":51},"Members and Invitations","\u002Fdocs\u002Finfuse-cloud\u002Fmembers-and-invitations","1.docs\u002F2.infuse-cloud\u002F4.members-and-invitations",{"title":53,"path":54,"stem":55},"Member Roles","\u002Fdocs\u002Finfuse-cloud\u002Fmember-roles","1.docs\u002F2.infuse-cloud\u002F5.member-roles",{"title":57,"path":58,"stem":59},"API Access","\u002Fdocs\u002Finfuse-cloud\u002Fapi-access","1.docs\u002F2.infuse-cloud\u002F6.api-access",{"title":61,"path":62,"stem":63},"Webhooks","\u002Fdocs\u002Finfuse-cloud\u002Fwebhooks","1.docs\u002F2.infuse-cloud\u002F7.webhooks","i-lucide-building-2",{"title":66,"path":67,"stem":68,"children":69,"icon":119},"Infuse-IoT Cloud","\u002Fdocs\u002Finfuse-iot-cloud","1.docs\u002F3.infuse-iot-cloud\u002F1.index",[70,71,75,79,83,87,91,95,99,103,107,111,115],{"title":66,"path":67,"stem":68},{"title":72,"path":73,"stem":74},"Provisioning","\u002Fdocs\u002Finfuse-iot-cloud\u002Fprovisioning","1.docs\u002F3.infuse-iot-cloud\u002F10.provisioning",{"title":76,"path":77,"stem":78},"Connectivity","\u002Fdocs\u002Finfuse-iot-cloud\u002Fconnectivity","1.docs\u002F3.infuse-iot-cloud\u002F11.connectivity",{"title":80,"path":81,"stem":82},"Definitions","\u002Fdocs\u002Finfuse-iot-cloud\u002Fdefinitions","1.docs\u002F3.infuse-iot-cloud\u002F12.definitions",{"title":84,"path":85,"stem":86},"Telemetry","\u002Fdocs\u002Finfuse-iot-cloud\u002Ftelemetry","1.docs\u002F3.infuse-iot-cloud\u002F13.telemetry",{"title":88,"path":89,"stem":90},"Console","\u002Fdocs\u002Finfuse-iot-cloud\u002Fconsole","1.docs\u002F3.infuse-iot-cloud\u002F2.console",{"title":92,"path":93,"stem":94},"Concepts","\u002Fdocs\u002Finfuse-iot-cloud\u002Fconcepts","1.docs\u002F3.infuse-iot-cloud\u002F3.concepts",{"title":96,"path":97,"stem":98},"Boards","\u002Fdocs\u002Finfuse-iot-cloud\u002Fboards","1.docs\u002F3.infuse-iot-cloud\u002F4.boards",{"title":100,"path":101,"stem":102},"Networks","\u002Fdocs\u002Finfuse-iot-cloud\u002Fnetworks","1.docs\u002F3.infuse-iot-cloud\u002F5.networks",{"title":104,"path":105,"stem":106},"Devices","\u002Fdocs\u002Finfuse-iot-cloud\u002Fdevices","1.docs\u002F3.infuse-iot-cloud\u002F6.devices",{"title":108,"path":109,"stem":110},"Device Configuration","\u002Fdocs\u002Finfuse-iot-cloud\u002Fdevice-configuration","1.docs\u002F3.infuse-iot-cloud\u002F7.device-configuration",{"title":112,"path":113,"stem":114},"Applications and Releases","\u002Fdocs\u002Finfuse-iot-cloud\u002Fapplications-and-releases","1.docs\u002F3.infuse-iot-cloud\u002F8.applications-and-releases",{"title":116,"path":117,"stem":118},"Commands","\u002Fdocs\u002Finfuse-iot-cloud\u002Fcommands","1.docs\u002F3.infuse-iot-cloud\u002F9.commands","i-lucide-radio-tower",{"title":121,"path":122,"stem":123,"children":124,"icon":143},"Infuse DB","\u002Fdocs\u002Finfuse-db","1.docs\u002F4.infuse-db\u002F1.index",[125,127,131,135,139],{"title":126,"path":122,"stem":123},"Infuse-DB",{"title":128,"path":129,"stem":130},"Datasets","\u002Fdocs\u002Finfuse-db\u002Fdatasets","1.docs\u002F4.infuse-db\u002F2.datasets",{"title":132,"path":133,"stem":134},"Ingestion","\u002Fdocs\u002Finfuse-db\u002Fingestion","1.docs\u002F4.infuse-db\u002F3.ingestion",{"title":136,"path":137,"stem":138},"Querying","\u002Fdocs\u002Finfuse-db\u002Fquerying","1.docs\u002F4.infuse-db\u002F4.querying",{"title":140,"path":141,"stem":142},"Retention","\u002Fdocs\u002Finfuse-db\u002Fretention","1.docs\u002F4.infuse-db\u002F5.retention","i-lucide-database",{"title":145,"path":146,"stem":147,"children":148,"icon":157},"Infuse-IoT SDK","\u002Fdocs\u002Finfuse-iot-sdk","1.docs\u002F4.infuse-iot-sdk\u002F1.index",[149,150,153],{"title":145,"path":146,"stem":147},{"title":145,"path":151,"stem":152},"\u002Fdocs\u002Finfuse-iot-sdk\u002Fsdk-reference","1.docs\u002F4.infuse-iot-sdk\u002F2.sdk-reference",{"title":154,"path":155,"stem":156},"Python Tools","\u002Fdocs\u002Finfuse-iot-sdk\u002Fpython-tools","1.docs\u002F4.infuse-iot-sdk\u002F3.python-tools","i-lucide-cpu",{"title":159,"path":160,"stem":161,"children":162,"icon":233},"Marketplace","\u002Fdocs\u002Fmarketplace","1.docs\u002F5.marketplace\u002F1.index",[163,165,169,173,201],{"title":164,"path":160,"stem":161},"Infuse-Marketplace",{"title":166,"path":167,"stem":168},"Infuse-Marketplace Instances","\u002Fdocs\u002Fmarketplace\u002Finstances","1.docs\u002F5.marketplace\u002F2.instances",{"title":170,"path":171,"stem":172},"Infuse-Marketplace Roles","\u002Fdocs\u002Fmarketplace\u002Froles","1.docs\u002F5.marketplace\u002F3.roles",{"title":174,"path":175,"stem":176,"children":177,"icon":200},"Developers","\u002Fdocs\u002Fmarketplace\u002Fdevelopers","1.docs\u002F5.marketplace\u002Fdevelopers\u002F1.index",[178,180,184,188,192,196],{"title":179,"path":175,"stem":176},"Infuse-Marketplace Developers",{"title":181,"path":182,"stem":183},"Create an App or Algorithm","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fcreate-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F2.create-product",{"title":185,"path":186,"stem":187},"Upload Assets","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fupload-assets","1.docs\u002F5.marketplace\u002Fdevelopers\u002F3.upload-assets",{"title":189,"path":190,"stem":191},"Releases and Versions","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Freleases-and-versions","1.docs\u002F5.marketplace\u002Fdevelopers\u002F4.releases-and-versions",{"title":193,"path":194,"stem":195},"Pricing","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpricing","1.docs\u002F5.marketplace\u002Fdevelopers\u002F5.pricing",{"title":197,"path":198,"stem":199},"Publish an App or Algorithm","\u002Fdocs\u002Fmarketplace\u002Fdevelopers\u002Fpublish-product","1.docs\u002F5.marketplace\u002Fdevelopers\u002F6.publish-product","i-lucide-code-2",{"title":202,"path":203,"stem":204,"children":205,"icon":232},"Providers","\u002Fdocs\u002Fmarketplace\u002Fproviders","1.docs\u002F5.marketplace\u002Fproviders\u002F1.index",[206,208,212,216,220,224,228],{"title":207,"path":203,"stem":204},"Infuse-Marketplace Providers",{"title":209,"path":210,"stem":211},"Discover Apps and Algorithms","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fdiscover-products","1.docs\u002F5.marketplace\u002Fproviders\u002F2.discover-products",{"title":213,"path":214,"stem":215},"Create and Manage Listings","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcreate-listings","1.docs\u002F5.marketplace\u002Fproviders\u002F3.create-listings",{"title":217,"path":218,"stem":219},"Build a Storefront","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fbuild-a-storefront","1.docs\u002F5.marketplace\u002Fproviders\u002F4.build-a-storefront",{"title":221,"path":222,"stem":223},"Checkout Flow","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fcheckout-flow","1.docs\u002F5.marketplace\u002Fproviders\u002F5.checkout-flow",{"title":225,"path":226,"stem":227},"Purchases","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Fpurchases","1.docs\u002F5.marketplace\u002Fproviders\u002F6.purchases",{"title":229,"path":230,"stem":231},"Install Purchased Apps and Algorithms","\u002Fdocs\u002Fmarketplace\u002Fproviders\u002Finstall-purchased-products","1.docs\u002F5.marketplace\u002Fproviders\u002F7.install-purchased-products","i-lucide-handshake","i-lucide-store",{"title":235,"path":236,"stem":237,"children":238,"icon":241},"Infuse Analytics","\u002Fdocs\u002Finfuse-analytics","1.docs\u002F6.infuse-analytics\u002F1.index",[239],{"title":240,"path":236,"stem":237},"Infuse-Analytics","i-lucide-chart-no-axes-combined",{"title":92,"path":243,"stem":244,"children":245,"icon":266},"\u002Fdocs\u002Fconcepts","1.docs\u002F7.concepts\u002F1.index",[246,247,251,255,258,262],{"title":92,"path":243,"stem":244},{"title":248,"path":249,"stem":250},"Organisations","\u002Fdocs\u002Fconcepts\u002Forganisations","1.docs\u002F7.concepts\u002F2.organisations",{"title":252,"path":253,"stem":254},"Products","\u002Fdocs\u002Fconcepts\u002Fproducts","1.docs\u002F7.concepts\u002F3.products",{"title":104,"path":256,"stem":257},"\u002Fdocs\u002Fconcepts\u002Fdevices","1.docs\u002F7.concepts\u002F5.devices",{"title":259,"path":260,"stem":261},"Entitlements","\u002Fdocs\u002Fconcepts\u002Fentitlements","1.docs\u002F7.concepts\u002F6.entitlements",{"title":263,"path":264,"stem":265},"Infuse-Marketplace Model","\u002Fdocs\u002Fconcepts\u002Fmarketplace-model","1.docs\u002F7.concepts\u002F7.marketplace-model","i-lucide-map",{"title":268,"path":269,"stem":270,"children":271,"icon":302},"IAM & Access","\u002Fdocs\u002Fiam-and-access","1.docs\u002F8.iam-and-access\u002F1.index",[272,274,278,282,286,290,294,298],{"title":273,"path":269,"stem":270},"IAM and Access",{"title":275,"path":276,"stem":277},"Users, Groups, and Roles","\u002Fdocs\u002Fiam-and-access\u002Fusers-groups-and-roles","1.docs\u002F8.iam-and-access\u002F2.users-groups-and-roles",{"title":279,"path":280,"stem":281},"Permissions","\u002Fdocs\u002Fiam-and-access\u002Fpermissions","1.docs\u002F8.iam-and-access\u002F3.permissions",{"title":283,"path":284,"stem":285},"Service Accounts","\u002Fdocs\u002Fiam-and-access\u002Fservice-accounts","1.docs\u002F8.iam-and-access\u002F4.service-accounts",{"title":287,"path":288,"stem":289},"API Tokens","\u002Fdocs\u002Fiam-and-access\u002Fapi-tokens","1.docs\u002F8.iam-and-access\u002F5.api-tokens",{"title":291,"path":292,"stem":293},"Token Exchange","\u002Fdocs\u002Fiam-and-access\u002Ftoken-exchange","1.docs\u002F8.iam-and-access\u002F6.token-exchange",{"title":295,"path":296,"stem":297},"Rotate and Revoke Credentials","\u002Fdocs\u002Fiam-and-access\u002Frotate-and-revoke-credentials","1.docs\u002F8.iam-and-access\u002F7.rotate-and-revoke-credentials",{"title":299,"path":300,"stem":301},"Troubleshooting Auth","\u002Fdocs\u002Fiam-and-access\u002Ftroubleshooting-auth","1.docs\u002F8.iam-and-access\u002F8.troubleshooting-auth","i-lucide-shield-check",false,{"title":305,"path":306,"stem":307,"children":308,"icon":354},"Guides","\u002Fguides","2.guides\u002F1.index",[309,310,322,333,344],{"title":305,"path":306,"stem":307},{"title":311,"path":312,"stem":313,"children":314,"icon":321},"Access","\u002Fguides\u002Faccess","2.guides\u002Faccess\u002F1.index",[315,317],{"title":316,"path":312,"stem":313},"Access Guides",{"title":318,"path":319,"stem":320},"Create an API Token","\u002Fguides\u002Faccess\u002Fcreate-an-api-token","2.guides\u002Faccess\u002F2.create-an-api-token","i-lucide-key-round",{"title":323,"path":324,"stem":325,"children":326,"icon":143},"Data","\u002Fguides\u002Fdata","2.guides\u002Fdata\u002F1.index",[327,329],{"title":328,"path":324,"stem":325},"Data Guides",{"title":330,"path":331,"stem":332},"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":334,"path":335,"stem":336,"children":337,"icon":119},"IoT","\u002Fguides\u002Fiot","2.guides\u002Fiot\u002F1.index",[338,340],{"title":339,"path":335,"stem":336},"IoT Guides",{"title":341,"path":342,"stem":343},"Connect an IoT Device","\u002Fguides\u002Fiot\u002Fconnect-a-device","2.guides\u002Fiot\u002F2.connect-a-device",{"title":159,"path":345,"stem":346,"children":347,"icon":233},"\u002Fguides\u002Fmarketplace","2.guides\u002Fmarketplace\u002F1.index",[348,350],{"title":349,"path":345,"stem":346},"Infuse-Marketplace Guides",{"title":351,"path":352,"stem":353},"Build an Infuse-Marketplace Storefront","\u002Fguides\u002Fmarketplace\u002Fbuild-a-storefront","2.guides\u002Fmarketplace\u002F2.build-a-storefront","i-lucide-route",{"title":356,"path":357,"stem":358,"children":359,"icon":381},"API Reference","\u002Fapi-reference","3.api-reference\u002F1.index",[360,361,365,369,373,377],{"title":356,"path":357,"stem":358},{"title":362,"path":363,"stem":364},"Admin API","\u002Fapi-reference\u002Fcloud","3.api-reference\u002F2.cloud",{"title":366,"path":367,"stem":368},"Infuse-Marketplace API","\u002Fapi-reference\u002Fmarketplace","3.api-reference\u002F3.marketplace",{"title":370,"path":371,"stem":372},"IAM API","\u002Fapi-reference\u002Fiam","3.api-reference\u002F4.iam",{"title":374,"path":375,"stem":376},"Infuse-IoT Cloud API","\u002Fapi-reference\u002Fiot","3.api-reference\u002F5.iot",{"title":378,"path":379,"stem":380},"Infuse-DB API","\u002Fapi-reference\u002Fdb","3.api-reference\u002F6.db","i-lucide-braces",{"title":383,"path":384,"stem":385,"children":386,"icon":400},"Resources","\u002Fresources","4.resources\u002F1.index",[387,388,392,396],{"title":383,"path":384,"stem":385},{"title":389,"path":390,"stem":391},"SDKs","\u002Fresources\u002Fsdks","4.resources\u002F2.sdks",{"title":393,"path":394,"stem":395},"OpenAPI Specs","\u002Fresources\u002Fopenapi-specs","4.resources\u002F3.openapi-specs",{"title":397,"path":398,"stem":399},"Examples","\u002Fresources\u002Fexamples","4.resources\u002F4.examples","i-lucide-folder-open",{"id":402,"title":80,"body":403,"description":674,"extension":675,"links":676,"meta":677,"navigation":678,"path":81,"seo":679,"stem":82,"__hash__":680},"docs\u002F1.docs\u002F3.infuse-iot-cloud\u002F12.definitions.md",{"type":404,"value":405,"toc":664},"minimark",[406,410,413,457,462,465,473,476,480,483,486,502,506,514,558,562,565,607,611,614,656],[407,408,409],"p",{},"Definitions describe how device payloads should be encoded, decoded, displayed, and understood by backend systems. They are the contract between firmware and Infuse-IoT Cloud integrations.",[407,411,412],{},"Infuse-IoT Cloud exposes three definition registries:",[414,415,416,429],"table",{},[417,418,419],"thead",{},[420,421,422,426],"tr",{},[423,424,425],"th",{},"Registry",[423,427,428],{},"Use",[430,431,432,441,449],"tbody",{},[420,433,434,438],{},[435,436,437],"td",{},"RPC definitions",[435,439,440],{},"Commands, request\u002Fresponse structures, and enums used by RPC workflows.",[420,442,443,446],{},[435,444,445],{},"TDF definitions",[435,447,448],{},"Structured telemetry definitions for device-emitted data.",[420,450,451,454],{},[435,452,453],{},"KV definitions",[435,455,456],{},"Device key-value entry definitions for configuration and state.",[458,459,461],"h2",{"id":460},"console-usage","Console Usage",[407,463,464],{},"The console uses definitions when it can display device data in a human-readable form.",[407,466,467,468,472],{},"KV definitions are the most visible example. On a device ",[469,470,471],"strong",{},"KV Store"," tab, definitions can provide key names, descriptions, field structures, read-only or write-only indicators, and decoded values. When a KV definition is unavailable, the console falls back to raw base64 values.",[407,474,475],{},"RPC definitions still matter when sending commands. The manual command dispatcher accepts guided fields or raw JSON, but your team should keep command names, command IDs, params, and encoded payloads aligned with the active firmware definitions.",[458,477,479],{"id":478},"versioned-contracts","Versioned Contracts",[407,481,482],{},"Each registry supports a latest version and version-specific reads. Backend services should use the definition version that matches the device firmware or data source they are processing.",[407,484,485],{},"When adding new definitions, treat them as versioned contracts:",[487,488,489,493,496,499],"ul",{},[490,491,492],"li",{},"keep backward compatibility where devices in the field still use older firmware,",[490,494,495],{},"avoid changing field meaning without a new definition version,",[490,497,498],{},"update backend encoders and decoders together with firmware releases,",[490,500,501],{},"use definitions to drive display labels and decoded values instead of hard-coding payload interpretation in every integration.",[458,503,505],{"id":504},"rpc-definitions","RPC Definitions",[407,507,508,509,513],{},"RPC definitions contain commands, structs, and enums. Use them when building command payloads for ",[510,511,512],"code",{},"POST \u002Frpc"," and when decoding responses returned through RPC message reads.",[414,515,516,526],{},[417,517,518],{},[420,519,520,523],{},[423,521,522],{},"Task",[423,524,525],{},"Endpoint",[430,527,528,538,548],{},[420,529,530,533],{},[435,531,532],{},"Get latest RPC definitions",[435,534,535],{},[510,536,537],{},"GET \u002Fdefs\u002Frpc",[420,539,540,543],{},[435,541,542],{},"Add RPC definitions",[435,544,545],{},[510,546,547],{},"POST \u002Fdefs\u002Frpc",[420,549,550,553],{},[435,551,552],{},"Get RPC definitions by version",[435,554,555],{},[510,556,557],{},"GET \u002Fdefs\u002Frpc\u002F{version}",[458,559,561],{"id":560},"tdf-definitions","TDF Definitions",[407,563,564],{},"TDF definitions describe structured telemetry data. Use them when telemetry emitted by firmware needs consistent decoding before downstream storage or analytics.",[414,566,567,575],{},[417,568,569],{},[420,570,571,573],{},[423,572,522],{},[423,574,525],{},[430,576,577,587,597],{},[420,578,579,582],{},[435,580,581],{},"Get latest TDF definitions",[435,583,584],{},[510,585,586],{},"GET \u002Fdefs\u002Ftdf",[420,588,589,592],{},[435,590,591],{},"Add TDF definitions",[435,593,594],{},[510,595,596],{},"POST \u002Fdefs\u002Ftdf",[420,598,599,602],{},[435,600,601],{},"Get TDF definitions by version",[435,603,604],{},[510,605,606],{},"GET \u002Fdefs\u002Ftdf\u002F{version}",[458,608,610],{"id":609},"kv-definitions","KV Definitions",[407,612,613],{},"KV definitions describe device key-value entries. They allow KV entry reads and updates to use decoded object values where definitions are known, instead of only raw base64 data.",[414,615,616,624],{},[417,617,618],{},[420,619,620,622],{},[423,621,522],{},[423,623,525],{},[430,625,626,636,646],{},[420,627,628,631],{},[435,629,630],{},"Get latest KV definitions",[435,632,633],{},[510,634,635],{},"GET \u002Fdefs\u002Fkv",[420,637,638,641],{},[435,639,640],{},"Add KV definitions",[435,642,643],{},[510,644,645],{},"POST \u002Fdefs\u002Fkv",[420,647,648,651],{},[435,649,650],{},"Get KV definitions by version",[435,652,653],{},[510,654,655],{},"GET \u002Fdefs\u002Fkv\u002F{version}",[407,657,658,659,663],{},"For endpoint schemas, see the ",[660,661,662],"a",{"href":375},"Infuse-IoT Cloud API reference",".",{"title":665,"searchDepth":666,"depth":667,"links":668},"",1,2,[669,670,671,672,673],{"id":460,"depth":667,"text":461},{"id":478,"depth":667,"text":479},{"id":504,"depth":667,"text":505},{"id":560,"depth":667,"text":561},{"id":609,"depth":667,"text":610},"Manage RPC, TDF, and KV definition registries for device data and commands.","md",null,{},true,{"title":80,"description":674},"WZEe4_cIu1ZoVM2z7BAAZw-UMBAPorQ116yv0Y1drWg",[682,684],{"title":76,"path":77,"stem":78,"description":683,"children":-1},"Issue MQTT tokens and understand CoAP file metadata for device workflows.",{"title":84,"path":85,"stem":86,"description":685,"children":-1},"Track state, logger sync, KV values, routes, and downstream data flow.",1782779884118]