It’s not clear to me from your question whether you’re comfortable with the concepts of products and groups that are exposed by the API. I’m going to assume less knowledge, rather than more.
The ImpCentral API exposes Products and DeviceGroups. Products are collections of DeviceGroups, and DeviceGroups are collections of Devices. DeviceGroups come in different flavors, depending on whether you’re dealing with development, factory, or production code.
A Deployment – the device code and agent code that you might think of as a “release” – is created on a DeviceGroup.
Given all that…
From a high level, the steps are (there are many, but note that most only ever need to be done once):
- authenticate, receive an access token and refresh token; all the following steps require a valid access token
- create a Product (POST /v5/products)
- create a DeviceGroup (POST /v5/devicegroups)
- assign a device to the the DeviceGroup (POST /v5/devicegroups/:devicegroup_id/relationships/devices)
- create a Deployment (POST /v5/deployments)
… note that steps 4 and 5 can happen in any order; devices already in a group will run newly deployed code, devices added to a group will run the most recently deployed code for that group.
Getting logs is a process of creating a log stream, and attaching logs for a device to that stream:
- create a logstream (POST /v5/logstream); note that you can only ever have one active logstream per account. This call will return a URL; while that URL may be in the /v5 hierarchy, please don’t depend on that – we reserve the ability to have these URLs be completely separate from our normal API hierarchy.
- start listening on the stream (GET <logstream URL>)
- add a device to the stream (PUT /v5/logstream/:logstream_id/:device_id)
… that’s it. You can add up to five devices to a logstream; newly added devices replace the least recently added device.
… does that answer your questions? If not, we can probably pull together a complete curl-and-response session log to make things even more explicit.