The Step API handles both StepList and Step objects. These objects track asynchronous jobs at different levels of granularity:
Object | Where | Level |
---|---|---|
Operation | /operation endpoint | Fleet / Company: across multiple devices or objects |
StepList | /step endpoint | A single device or object |
Step | StepList.steps | A single job being performed to a device or object |
The StepList is a list of Steps, grouped by the "target". This is most commonly the device.
For example: when Applying a Blueprint to a fleet of Devices, we are in fact performing many actions to each Device:
- Update the Device object with the new configuration
- Install any new firmware (where applicable)
- Send any files (where applicable)
- Send the new configuration to the device
Each of the above is considered a Step, and the list of all four of these together for a single device is the StepList. We track all of the StepLists – there is one for each Device – through the Operation.