Configuration File Distribution
This use case lets an end customer capture a fully-configured device's settings as a profile file, then distribute that file to other devices of the same model — one device, or many at once. No settings are re-entered by hand, and no partner involvement is needed per device.
It relies on two supported commands you define on the model, backed by the device Files channel:
- Download Profile — reads the device's current settings, serializes them to a JSON file, and uploads that file to the platform so it appears under Device → Files.
- Apply Profile — takes a profile file as a parameter, and writes those settings back onto the device.
Because a profile is just a JSON file, a customer can capture it once, tweak it if needed, and push it to a single device or to a whole fleet.
Define the two commands on your model
Add both as Supported Commands on the device model (Partner Portal → Models → Commands):
| Command | Parameters | What the firmware does |
|---|---|---|
| Download Profile | none | Reads local settings, builds a JSON profile, uploads it via the Send Dump API |
| Apply Profile | one file parameter of type profile (required) | Downloads the profile file and applies each setting locally |
Download Profile
When the device receives Download Profile, the firmware:
- Reads its current local configuration.
- Serializes it to a JSON document.
- Uploads the document with the Send Dump API.
Send Dump is POST /v1/devices/{deviceId}/dumps/{mime-type}/{filename} — the raw JSON goes in the request body, and the file name and MIME type are carried in the path (URL-encode the slash in the MIME type):
POST /v1/devices/{deviceId}/dumps/application%2Fjson/profile.json
Authorization: <device access key>
Content-Type: text/plain
{"display":{"brightness":80,"input":"HDMI1"},"network":{"dhcp":true}}
On success the endpoint returns 201 with the new file id, and the file appears under Device → Files, where the customer can download it.
Name the file predictablyUse a stable, human-readable filename (e.g.
profile.json) so customers can find it easily in the Files list.
Apply Profile
Give Apply Profile a single required file parameter of type profile. When the command runs, the customer supplies a profile file (see the flow below), the platform delivers it to the device, and the firmware reads the JSON and applies each setting locally.
End-customer experience
Once both commands are published, the flow for a customer is:
- Configure one device the way every device of that model should be set up.
- Send Download Profile to that device.
- Open Device → Files and download the generated profile file.
- Edit the file if anything needs to change (optional).
- Open another device of the same model and send Apply Profile.
- Choose Custom File, upload the file from step 4, and give it a name / version / details.
- To roll it out widely, use the Devices view to send Apply Profile to many devices at once — choose Custom File and pick one of the profiles uploaded earlier.
Profiles are reusableA profile uploaded in step 6 is saved, so later Apply Profile runs (step 7) can select it from the list instead of re-uploading.
Updated 3 days ago
