[{"data":1,"prerenderedAt":620},["ShallowReactive",2],{"navigation_docs_en":3,"-en-developer-fleet-management":188,"-en-developer-fleet-management-surround":615},[4,22,40,54,72,125,143],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":21},"Getting Started","i-lucide-rocket","\u002Fen\u002Ftutorials","en\u002F1.tutorials",[10,13,17],{"title":5,"path":11,"stem":12},"\u002Fen\u002Ftutorials\u002Fgetting-started","en\u002F1.tutorials\u002F1.getting-started",{"title":14,"path":15,"stem":16},"Setup KLSTR.one","\u002Fen\u002Ftutorials\u002Fsetup-klstr-one","en\u002F1.tutorials\u002F2.setup-klstr-one",{"title":18,"path":19,"stem":20},"Setup KLSTR.nano","\u002Fen\u002Ftutorials\u002Fsetup-klstr-nano","en\u002F1.tutorials\u002F3.setup-klstr-nano",false,{"title":23,"icon":24,"path":25,"stem":26,"children":27,"page":21},"KLSTR.one","i-lucide-cpu","\u002Fen\u002Fklstr-one","en\u002F2.klstr-one",[28,32,36],{"title":29,"path":30,"stem":31},"KLSTR.one Overview","\u002Fen\u002Fklstr-one\u002Foverview","en\u002F2.klstr-one\u002F1.overview",{"title":33,"path":34,"stem":35},"KLSTR.one Installation","\u002Fen\u002Fklstr-one\u002Finstallation","en\u002F2.klstr-one\u002F2.installation",{"title":37,"path":38,"stem":39},"KLSTR.one Specifications","\u002Fen\u002Fklstr-one\u002Fspecifications","en\u002F2.klstr-one\u002F3.specifications",{"title":41,"icon":42,"path":43,"stem":44,"children":45,"page":21},"Admin","i-lucide-shield-check","\u002Fen\u002Fadmin","en\u002F3.admin",[46,50],{"title":47,"path":48,"stem":49},"Admin Dashboard","\u002Fen\u002Fadmin\u002Fdashboard","en\u002F3.admin\u002F1.dashboard",{"title":51,"path":52,"stem":53},"Internal Release Notes","\u002Fen\u002Fadmin\u002Frelease-notes","en\u002F3.admin\u002F2.release-notes",{"title":55,"icon":56,"path":57,"stem":58,"children":59,"page":21},"KLSTR.nano","i-lucide-microchip","\u002Fen\u002Fklstr-nano","en\u002F3.klstr-nano",[60,64,68],{"title":61,"path":62,"stem":63},"KLSTR.nano Overview","\u002Fen\u002Fklstr-nano\u002Foverview","en\u002F3.klstr-nano\u002F1.overview",{"title":65,"path":66,"stem":67},"KLSTR.nano Installation","\u002Fen\u002Fklstr-nano\u002Finstallation","en\u002F3.klstr-nano\u002F2.installation",{"title":69,"path":70,"stem":71},"KLSTR.nano Specifications","\u002Fen\u002Fklstr-nano\u002Fspecifications","en\u002F3.klstr-nano\u002F3.specifications",{"title":73,"icon":74,"path":75,"stem":76,"children":77,"page":21},"Developer Guide","i-lucide-code","\u002Fen\u002Fdeveloper","en\u002F4.developer",[78,81,85,89,93,113],{"title":73,"path":79,"stem":80},"\u002Fen\u002Fdeveloper\u002Foverview","en\u002F4.developer\u002F0.overview",{"title":82,"path":83,"stem":84},"Choosing a Module","\u002Fen\u002Fdeveloper\u002Fchoosing-a-module","en\u002F4.developer\u002F1.choosing-a-module",{"title":86,"path":87,"stem":88},"Dual-Mode Operation","\u002Fen\u002Fdeveloper\u002Fdual-mode","en\u002F4.developer\u002F2.dual-mode",{"title":90,"path":91,"stem":92},"Fleet Management","\u002Fen\u002Fdeveloper\u002Ffleet-management","en\u002F4.developer\u002F3.fleet-management",{"title":23,"path":94,"stem":95,"children":96,"page":21},"\u002Fen\u002Fdeveloper\u002Fklstr-one","en\u002F4.developer\u002F4.klstr-one",[97,101,105,109],{"title":98,"path":99,"stem":100},"KLSTR.one: Hardware Integration","\u002Fen\u002Fdeveloper\u002Fklstr-one\u002Fhardware-integration","en\u002F4.developer\u002F4.klstr-one\u002F1.hardware-integration",{"title":102,"path":103,"stem":104},"KLSTR.one: Provisioning","\u002Fen\u002Fdeveloper\u002Fklstr-one\u002Fprovisioning","en\u002F4.developer\u002F4.klstr-one\u002F2.provisioning",{"title":106,"path":107,"stem":108},"KLSTR.one: RDM Protocol","\u002Fen\u002Fdeveloper\u002Fklstr-one\u002Frdm-protocol","en\u002F4.developer\u002F4.klstr-one\u002F3.rdm-protocol",{"title":110,"path":111,"stem":112},"Internal (Partner Only)","\u002Fen\u002Fdeveloper\u002Fklstr-one\u002Finternal","en\u002F4.developer\u002F4.klstr-one\u002F4.internal",{"title":55,"path":114,"stem":115,"children":116,"page":21},"\u002Fen\u002Fdeveloper\u002Fklstr-nano","en\u002F4.developer\u002F5.klstr-nano",[117,121],{"title":118,"path":119,"stem":120},"KLSTR.nano: Hardware Integration","\u002Fen\u002Fdeveloper\u002Fklstr-nano\u002Fhardware-integration","en\u002F4.developer\u002F5.klstr-nano\u002F1.hardware-integration",{"title":122,"path":123,"stem":124},"KLSTR.nano: Provisioning","\u002Fen\u002Fdeveloper\u002Fklstr-nano\u002Fprovisioning","en\u002F4.developer\u002F5.klstr-nano\u002F2.provisioning",{"title":126,"icon":127,"path":128,"stem":129,"children":130,"page":21},"FAQ","i-lucide-circle-help","\u002Fen\u002Ffaq","en\u002F5.faq",[131,135,139],{"title":132,"path":133,"stem":134},"General Questions","\u002Fen\u002Ffaq\u002Fgeneral","en\u002F5.faq\u002F1.general",{"title":136,"path":137,"stem":138},"Connectivity","\u002Fen\u002Ffaq\u002Fconnectivity","en\u002F5.faq\u002F2.connectivity",{"title":140,"path":141,"stem":142},"Troubleshooting","\u002Fen\u002Ffaq\u002Ftroubleshooting","en\u002F5.faq\u002F3.troubleshooting",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":21},"Articles","i-lucide-newspaper","\u002Fen\u002Farticles","en\u002F6.articles",[149,153,157,161,165,169,173,177,181,185],{"title":150,"path":151,"stem":152},"Overview","\u002Fen\u002Farticles\u002Foverview","en\u002F6.articles\u002F0.overview",{"title":154,"path":155,"stem":156},"KLSTR Integration Guide for Fixture Manufacturers","\u002Fen\u002Farticles\u002Fintegration-guide","en\u002F6.articles\u002F1.integration-guide",{"title":158,"path":159,"stem":160},"RDM Protocol Reference for KLSTR.one","\u002Fen\u002Farticles\u002Frdm-protocol","en\u002F6.articles\u002F2.rdm-protocol",{"title":162,"path":163,"stem":164},"KLSTR.one Provisioning Guide","\u002Fen\u002Farticles\u002Fklstr-one-provisioning","en\u002F6.articles\u002F3.klstr-one-provisioning",{"title":166,"path":167,"stem":168},"KLSTR.one Integration Guide","\u002Fen\u002Farticles\u002Fklstr-one-plug-in-integration","en\u002F6.articles\u002F4.klstr-one-plug-in-integration",{"title":170,"path":171,"stem":172},"KLSTR.nano Provisioning Guide","\u002Fen\u002Farticles\u002Fklstr-nano-provisioning","en\u002F6.articles\u002F5.klstr-nano-provisioning",{"title":174,"path":175,"stem":176},"KLSTR.nano Plug-In Integration","\u002Fen\u002Farticles\u002Fklstr-nano-plug-in-integration","en\u002F6.articles\u002F6.klstr-nano-plug-in-integration",{"title":178,"path":179,"stem":180},"Hello","\u002Fen\u002Farticles\u002Fhello","en\u002F6.articles\u002F7.hello",{"title":182,"path":183,"stem":184},"TestNew file","\u002Fen\u002Farticles\u002Fiwantmd","en\u002F6.articles\u002Fiwantmd",{"title":182,"path":186,"stem":187},"\u002Fen\u002Farticles\u002Ftestnew","en\u002F6.articles\u002Ftestnew",{"id":189,"title":90,"body":190,"description":608,"extension":609,"links":610,"meta":611,"navigation":612,"path":91,"seo":613,"stem":92,"__hash__":614},"docs_en\u002Fen\u002F4.developer\u002F3.fleet-management.md",{"type":191,"value":192,"toc":591},"minimark",[193,206,211,220,225,228,256,260,267,343,346,350,353,371,374,377,380,383,387,398,409,413,515,519,525,531,535,541,544,547,554,558,561,567,570,574,577,588],[194,195,196,197,201,202,205],"p",{},"Once your devices are provisioned, the ",[198,199,200],"strong",{},"manufacturer portal"," and ",[198,203,204],{},"REST API"," give you full visibility and control over your fleet.",[207,208,210],"h2",{"id":209},"manufacturer-portal","Manufacturer portal",[194,212,213,214,219],{},"The portal is available at ",[215,216,218],"a",{"href":217},"\u002Fen\u002Fportal","support.klstr.cloud\u002Fportal",". After logging in with your manufacturer credentials, you have access to:",[221,222,224],"h3",{"id":223},"dashboard","Dashboard",[194,226,227],{},"The dashboard shows an overview of your account:",[229,230,231,238,244,250],"ul",{},[232,233,234,237],"li",{},[198,235,236],{},"Provisioned devices"," — total count and breakdown by fixture model",[232,239,240,243],{},[198,241,242],{},"Online \u002F offline"," — real-time device status",[232,245,246,249],{},[198,247,248],{},"Allowance"," — devices provisioned vs. your allocation quota",[232,251,252,255],{},[198,253,254],{},"Budget"," — spend tracking against your manufacturer budget",[221,257,259],{"id":258},"device-list","Device list",[194,261,262,263,266],{},"The ",[198,264,265],{},"Fleet > Devices"," view shows every device bound to your account:",[268,269,270,283],"table",{},[271,272,273],"thead",{},[274,275,276,280],"tr",{},[277,278,279],"th",{},"Column",[277,281,282],{},"Description",[284,285,286,295,303,311,319,327,335],"tbody",{},[274,287,288,292],{},[289,290,291],"td",{},"Device name",[289,293,294],{},"The name assigned during provisioning",[274,296,297,300],{},[289,298,299],{},"Serial number",[289,301,302],{},"Unique hardware identifier",[274,304,305,308],{},[289,306,307],{},"Fixture model",[289,309,310],{},"The registered fixture model",[274,312,313,316],{},[289,314,315],{},"Firmware",[289,317,318],{},"Currently installed firmware version",[274,320,321,324],{},[289,322,323],{},"Status",[289,325,326],{},"Online, offline, or updating",[274,328,329,332],{},[289,330,331],{},"Last seen",[289,333,334],{},"Timestamp of the last heartbeat",[274,336,337,340],{},[289,338,339],{},"IP address",[289,341,342],{},"Current network address",[194,344,345],{},"You can filter by fixture model, status, or firmware version. Click any device to view its full configuration and history.",[221,347,349],{"id":348},"firmware-management","Firmware management",[194,351,352],{},"From the portal, you can:",[229,354,355,358,365,368],{},[232,356,357],{},"View available firmware versions per device model",[232,359,360,361,364],{},"Schedule ",[198,362,363],{},"OTA firmware updates"," for individual devices or batches",[232,366,367],{},"Track update progress and rollback if needed",[232,369,370],{},"View firmware changelog and release notes",[194,372,373],{},"Note",[194,375,376],{},"OTA updates require the device to be online and connected to the internet. For air-gapped installations, use KLSTR.ctrl with a USB-C connection.",[207,378,204],{"id":379},"rest-api",[194,381,382],{},"For production automation, KLSTR. provides a REST API that covers all portal functionality programmatically.",[221,384,386],{"id":385},"authentication","Authentication",[194,388,389,390,393,394,397],{},"All API requests require a ",[198,391,392],{},"manufacturer API key",", generated in the portal under ",[198,395,396],{},"Settings > API Keys",".",[399,400,406],"pre",{"className":401,"code":403,"language":404,"meta":405},[402],"language-text","Authorization: Bearer \u003Cyour-api-key>\n","text","",[407,408,403],"code",{"__ignoreMap":405},[221,410,412],{"id":411},"key-endpoints","Key endpoints",[268,414,415,427],{},[271,416,417],{},[274,418,419,422,425],{},[277,420,421],{},"Method",[277,423,424],{},"Endpoint",[277,426,282],{},[284,428,429,442,454,467,479,491,503],{},[274,430,431,434,439],{},[289,432,433],{},"GET",[289,435,436],{},[407,437,438],{},"\u002Fapi\u002Fv1\u002Fdevices",[289,440,441],{},"List all devices in your fleet",[274,443,444,446,451],{},[289,445,433],{},[289,447,448],{},[407,449,450],{},"\u002Fapi\u002Fv1\u002Fdevices\u002F:serial",[289,452,453],{},"Get a specific device by serial number",[274,455,456,459,464],{},[289,457,458],{},"POST",[289,460,461],{},[407,462,463],{},"\u002Fapi\u002Fv1\u002Fdevices\u002Fclaim",[289,465,466],{},"Claim a new device",[274,468,469,472,476],{},[289,470,471],{},"PATCH",[289,473,474],{},[407,475,450],{},[289,477,478],{},"Update device configuration",[274,480,481,483,488],{},[289,482,433],{},[289,484,485],{},[407,486,487],{},"\u002Fapi\u002Fv1\u002Fallocation",[289,489,490],{},"View current allocation and budget",[274,492,493,495,500],{},[289,494,458],{},[289,496,497],{},[407,498,499],{},"\u002Fapi\u002Fv1\u002Ffirmware\u002Fdeploy",[289,501,502],{},"Schedule firmware update for a device or batch",[274,504,505,507,512],{},[289,506,433],{},[289,508,509],{},[407,510,511],{},"\u002Fapi\u002Fv1\u002Ffirmware\u002Fversions",[289,513,514],{},"List available firmware versions",[221,516,518],{"id":517},"example-list-devices","Example: List devices",[399,520,523],{"className":521,"code":522,"language":404,"meta":405},[402],"curl -H \"Authorization: Bearer $API_KEY\" \\  https:\u002F\u002Fapi.klstr.cloud\u002Fapi\u002Fv1\u002Fdevices\n",[407,524,522],{"__ignoreMap":405},[399,526,529],{"className":527,"code":528,"language":404,"meta":405},[402],"{  \"devices\": [    {      \"serial\": \"KN2-00A1B2C3\",      \"name\": \"venue-a-truss-1\",      \"model\": \"WashPro 500\",      \"firmware\": \"2.1.0\",      \"status\": \"online\",      \"last_seen\": \"2026-04-24T12:30:00Z\",      \"ip\": \"192.168.1.42\"    }  ],  \"total\": 142,  \"quota\": 500}\n",[407,530,528],{"__ignoreMap":405},[221,532,534],{"id":533},"example-bulk-firmware-update","Example: Bulk firmware update",[399,536,539],{"className":537,"code":538,"language":404,"meta":405},[402],"curl -X POST \\  -H \"Authorization: Bearer $API_KEY\" \\  -H \"Content-Type: application\u002Fjson\" \\  -d '{    \"firmware_version\": \"2.1.1\",    \"filter\": { \"model\": \"WashPro 500\", \"firmware_lt\": \"2.1.1\" }  }' \\  https:\u002F\u002Fapi.klstr.cloud\u002Fapi\u002Fv1\u002Ffirmware\u002Fdeploy\n",[407,540,538],{"__ignoreMap":405},[194,542,543],{},"This schedules an OTA update for all WashPro 500 devices running firmware older than 2.1.1.",[194,545,546],{},"Caution",[194,548,549,550,553],{},"The API is rate-limited to ",[198,551,552],{},"100 requests per minute"," per API key. For bulk operations, use the batch endpoints rather than iterating over individual devices.",[207,555,557],{"id":556},"bulk-provisioning-api","Bulk provisioning API",[194,559,560],{},"For production lines, the claim endpoint supports batch operations:",[399,562,565],{"className":563,"code":564,"language":404,"meta":405},[402],"curl -X POST \\  -H \"Authorization: Bearer $API_KEY\" \\  -H \"Content-Type: application\u002Fjson\" \\  -d '{    \"serials\": [\"KN2-00A1B2C3\", \"KN2-00A1B2C4\", \"KN2-00A1B2C5\"],    \"model\": \"WashPro 500\",    \"firmware\": \"2.1.0\"  }' \\  https:\u002F\u002Fapi.klstr.cloud\u002Fapi\u002Fv1\u002Fdevices\u002Fclaim\n",[407,566,564],{"__ignoreMap":405},[194,568,569],{},"This claims multiple devices, assigns them to a fixture model, and schedules firmware installation — all in a single request.",[207,571,573],{"id":572},"webhooks-coming-soon","Webhooks (coming soon)",[194,575,576],{},"KLSTR. is developing webhook support for real-time event notifications:",[229,578,579,582,585],{},[232,580,581],{},"Device comes online \u002F goes offline",[232,583,584],{},"Firmware update completed \u002F failed",[232,586,587],{},"Allocation threshold reached",[194,589,590],{},"Contact your account manager to join the webhook beta program.",{"title":405,"searchDepth":592,"depth":592,"links":593},2,[594,600,606,607],{"id":209,"depth":592,"text":210,"children":595},[596,598,599],{"id":223,"depth":597,"text":224},3,{"id":258,"depth":597,"text":259},{"id":348,"depth":597,"text":349},{"id":379,"depth":592,"text":204,"children":601},[602,603,604,605],{"id":385,"depth":597,"text":386},{"id":411,"depth":597,"text":412},{"id":517,"depth":597,"text":518},{"id":533,"depth":597,"text":534},{"id":556,"depth":592,"text":557},{"id":572,"depth":592,"text":573},"Managing your KLSTR. device fleet — manufacturer portal, device monitoring, budget tracking, and REST API for automation.","md",null,{},true,{"title":90,"description":608},"YcHWj2pS0LMl98JTVf9dKPzoQDm77Yqm9uWntT6WSmM",[616,618],{"title":86,"path":87,"stem":88,"description":617,"children":-1},"How to use KLSTR.nano and KLSTR.one together — wiring, configuration, and communication between the two modules.",{"title":98,"path":99,"stem":100,"description":619,"children":-1},"Complete hardware integration reference for the KLSTR.one Module v1.x — Ethernet, bypass relays, power supply architecture, pinout, electrical parameters, and mechanical dimensions.",1781710622866]