[{"data":1,"prerenderedAt":593},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Finfuse-iot\u002Fcommands":361,"\u002Fdocs\u002Finfuse-iot\u002Fcommands-surround":588},[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":76,"body":363,"description":581,"extension":582,"links":583,"meta":584,"navigation":585,"path":77,"seo":586,"stem":78,"__hash__":587},"docs\u002F1.docs\u002F3.infuse-iot\u002F5.commands.md",{"type":364,"value":365,"toc":572},"minimark",[366,370,373,378,412,416,429,432,476,480,483,490,494,566],[367,368,369],"p",{},"Commands allow backend services to request device-side actions. In Infuse IoT, command workflows are represented by RPC messages.",[367,371,372],{},"Use RPC when a backend integration needs to trigger device behavior, request a reading, update runtime behavior, or invoke another command supported by the device firmware.",[374,375,377],"h2",{"id":376},"rpc-flow","RPC Flow",[379,380,381,390,393,396,402,405],"ol",{},[382,383,384,385,389],"li",{},"Confirm the target device exists with ",[386,387,388],"code",{},"GET \u002Fdevice\u002FdeviceId\u002F{deviceId}",".",[382,391,392],{},"Check state or last route if your command requires the device to have communicated recently.",[382,394,395],{},"Build the RPC request using the active RPC definitions for the device firmware.",[382,397,398,399,389],{},"Send the RPC with ",[386,400,401],{},"POST \u002Frpc",[382,403,404],{},"Store the returned RPC message ID.",[382,406,407,408,411],{},"Poll or read the message with ",[386,409,410],{},"GET \u002Frpc\u002F{id}"," to inspect delivery and response state.",[374,413,415],{"id":414},"wait-timeout-and-route-reuse","Wait Timeout And Route Reuse",[367,417,418,420,421,424,425,428],{},[386,419,401],{}," accepts a ",[386,422,423],{},"sendWaitTimeoutMs"," value. If it is ",[386,426,427],{},"0"," or omitted, Infuse IoT sends the RPC immediately using the device's last known route. If it is set to a positive value, Infuse IoT can wait for the device to send a packet before attempting the downlink.",[367,430,431],{},"Choose the timeout based on your device's power and connectivity model:",[433,434,435,448],"table",{},[436,437,438],"thead",{},[439,440,441,445],"tr",{},[442,443,444],"th",{},"Device model",[442,446,447],{},"Recommended behavior",[449,450,451,460,468],"tbody",{},[439,452,453,457],{},[454,455,456],"td",{},"Always connected",[454,458,459],{},"Send immediately or use a short wait.",[439,461,462,465],{},[454,463,464],{},"Low-power periodic wake",[454,466,467],{},"Use a wait timeout aligned with the expected wake interval.",[439,469,470,473],{},[454,471,472],{},"Intermittent or field devices",[454,474,475],{},"Read last route and state before queuing operationally important commands.",[374,477,479],{"id":478},"definition-driven-commands","Definition-Driven Commands",[367,481,482],{},"RPC definitions describe the commands, structs, and enums used to encode and decode RPC payloads. Keep backend command builders aligned with the device firmware version and the definitions registered in Infuse IoT.",[367,484,485,486,489],{},"Use ",[487,488,84],"a",{"href":85}," to understand the RPC definition registry.",[374,491,493],{"id":492},"useful-endpoints","Useful Endpoints",[433,495,496,506],{},[436,497,498],{},[439,499,500,503],{},[442,501,502],{},"Task",[442,504,505],{},"Endpoint",[449,507,508,518,527,536,546,556],{},[439,509,510,513],{},[454,511,512],{},"List RPC messages",[454,514,515],{},[386,516,517],{},"GET \u002Frpc",[439,519,520,523],{},[454,521,522],{},"Send an RPC",[454,524,525],{},[386,526,401],{},[439,528,529,532],{},[454,530,531],{},"Read one RPC message",[454,533,534],{},[386,535,410],{},[439,537,538,541],{},[454,539,540],{},"Get latest RPC definitions",[454,542,543],{},[386,544,545],{},"GET \u002Fdefs\u002Frpc",[439,547,548,551],{},[454,549,550],{},"Get RPC definitions by version",[454,552,553],{},[386,554,555],{},"GET \u002Fdefs\u002Frpc\u002F{version}",[439,557,558,561],{},[454,559,560],{},"Add RPC definition version",[454,562,563],{},[386,564,565],{},"POST \u002Fdefs\u002Frpc",[367,567,568,569,389],{},"For exact request and response schemas, see the ",[487,570,571],{"href":335},"Infuse IoT API reference",{"title":573,"searchDepth":574,"depth":575,"links":576},"",1,2,[577,578,579,580],{"id":376,"depth":575,"text":377},{"id":414,"depth":575,"text":415},{"id":478,"depth":575,"text":479},{"id":492,"depth":575,"text":493},"Send RPC commands to devices and inspect delivery state.","md",null,{},true,{"title":76,"description":581},"IeIDF23JI81n1Jpt0fcpa47bYzM9vbpariFDF0JgJ6s",[589,591],{"title":72,"path":73,"stem":74,"description":590,"children":-1},"Track device state, routes, logger progress, KV entries, and downstream data flow.",{"title":80,"path":81,"stem":82,"description":592,"children":-1},"Understand how Infuse IoT firmware foundations connect to API workflows.",1779344633847]