discovered = requests.get( f"{BASE}/v1/discoveredDevices", params={ "onboardingStatus": "readyToOnboard", "limit": 100, }, headers=headers,).json()["discoveredDevices"]targets = [device["id"] for device in discovered]
response = requests.post( f"{BASE}/v1/tasks", json={ "taskType": "onboardDevice", "devices": [ {"deviceId": device_id} for device_id in targets ], }, headers=headers,)task_id = response.json()["taskId"]
while True: task = requests.get( f"{BASE}/v1/tasks/{task_id}", headers=headers, ).json() pending = [ device_task for device_task in task["deviceTasks"] if device_task["status"] != "completed" ] if not pending: break time.sleep(30)
result = { "taskId": task_id, "succeeded": [ { "deviceId": device_task["deviceId"], "deviceName": device_task["deviceName"], } for device_task in task["deviceTasks"] if device_task["result"] == "succeeded" ], "failed": [ { "deviceId": device_task["deviceId"], "deviceName": device_task["deviceName"], "result": device_task["result"], } for device_task in task["deviceTasks"] if device_task["result"] != "succeeded" ],}print(json.dumps(result, indent=2))