HotCodePush

device

List devices by attribute, show what one runs, delete one for an erasure request and probe why it did not update with hotcodepush device.

hotcodepush device is the support view of an app's devices. A device is one install that checked a channel, known by the id it generated. The debug screen and device list show it. How to read a probe's Outcome is on Troubleshooting.

list

List the app's devices, the newest report first, filtered by what they reported. It is for support and QA, never for a pipeline.

OptionTypeDescription
--attribute <key=value>stringAn attribute the app set, key=value, such as userId=42.
--binary-build <build>stringThe build number the devices run.
--binary-version <version>stringThe app version the devices run.
--channel <id|name>stringThe channel the devices follow, by id or name.
--fingerprint <fingerprint>stringThe native fingerprint the devices report.
--last-seen-since <time>stringThe earliest last report, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.
--last-seen-until <time>stringThe latest last report, inclusive: an ISO 8601 timestamp or a duration ago such as 2h or 7d.
--limit <count>numberHow many to list, at most 100; 50 by default.
--offset <count>numberHow many to skip: the offset the previous page ended with.
--platform <platform>android | iosThe platform, ios or android.
--sdk-version <version>stringThe SDK version the devices run.
hotcodepush device list --attribute userId=42
hotcodepush device list --platform ios --binary-version 2.4.1 --last-seen-since 2026-09-01T00:00:00Z --json

get

Print what a device runs and reported last, with its outcome per release, newest first. Each event is checked, applied, confirmed or failed, with a reason from Results and reasons on a failure.

OptionTypeDescription
--device <id>stringThe device, by the id it generated, as the debug screen and device list show it.
hotcodepush device get --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259
hotcodepush device get --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259 --json

The first example prints:

ID           6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259
Platform     ios 17.4
Binary       2.4.1 (57)
Fingerprint  fp1:9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
Channel      production (config)
Release      8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f
SDK          1.2.0
Attributes   plan=pro
Country      DE
Last seen    2026-10-19T07:30:02.000Z
First seen   2026-09-02T10:11:45.000Z
RELEASE                               OUTCOME    REASON           DATE
8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f  confirmed                   2026-10-19
8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f  applied                     2026-10-19
8c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f  checked                     2026-10-19
5d2e3f4a-6b7c-4d8e-9f0a-1b2c3d4e5f6a  failed     download_failed  2026-10-12

delete

Delete a device's record, an erasure request. The device reports again with its next check. Confirms once (--yes in a script). What the record held is on Privacy and device data.

OptionTypeDescription
--device <id>stringThe device, by the id it generated, as the debug screen and device list show it.
hotcodepush device delete --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259
hotcodepush device delete --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259 --yes --json

probe

Answer why a device did not update: fetch the live index as a device would, evaluate it and mark every condition of every release. With --device the facts come from its last report. Otherwise unknown facts count as passing and are listed. --json prints one document with the device facts, outcome and verdicts.

OptionTypeDescription
--attribute <key=value>string, repeatableAn attribute the app sets, key=value, repeatable.
--binary-build <build>stringThe store build's build number, CFBundleVersion or versionCode.
--binary-version <version>stringThe store build's version, CFBundleShortVersionString or versionName.
--channel <id|name>stringThe channel, by id or name. Defaults to hotcodepush.json's channel.
--device <id>stringThe device, by the id it generated, as the debug screen and device list show it.
--platform <platform>android | iosThe platform, ios or android.
hotcodepush device probe --platform ios --binary-version 2.4.1 --binary-build 57
hotcodepush device probe --device 6b1e9d37-2f5c-4a80-9c46-d8e3a1f7b259 --json

The output is four lines, then one row per release:

Channel  production, ios
Index    published 2026-10-20T08:00:00.000Z
Outcome  skipped, device_incompatible (fingerprint), release #43
Unknown  nothing
RELEASE  ROLLOUT  CONDITIONS                     VERDICT
#43      100%     fingerprint fail               device_incompatible (fingerprint)
#42      100%     fingerprint pass, binary pass  eligible
#41      50%      fingerprint pass               device_not_in_rollout

Last updated on

On this page