@cywang117 Thanks for your help!
Curl-iing the api for the device, results in the following:
curl -X GET "https://api.myapiurl/v6/device?\$filter=uuid%20eq%20'full-device-uuid'" -H 'Content-Type: application/json' -H 'Authorization: Bearer auth-token'
{"d":[{"created_at":"2022-06-29T12:57:31.503Z","modified_at":"2022-07-12T12:32:22.968Z","id":2,"actor":10,"api_heartbeat_state":"unknown","uuid":"full-uuid","local_id":null,"device_name":"cold-hail","note":null,"is_of__device_type":{"__id":57},"belongs_to__application":{"__id":1},"is_online":true,"last_connectivity_event":"2022-07-12T12:32:22.968Z","is_connected_to_vpn":true,"last_vpn_event":"2022-07-12T12:32:22.968Z","is_locked_until__date":null,"logs_channel":null,"public_address":null,"vpn_address":"100.64.0.4","ip_address":null,"mac_address":"E4:5F:01:44:7D:F3 A6:9A:84:3A:5A:CF","memory_usage":null,"memory_total":null,"storage_block_device":null,"storage_usage":null,"storage_total":null,"cpu_usage":null,"cpu_temp":null,"is_undervolted":false,"cpu_id":null,"is_running__release":null,"download_progress":null,"status":null,"os_version":"balenaOS 2.98.33","os_variant":"prod","supervisor_version":"13.1.11","provisioning_progress":null,"provisioning_state":null,"api_port":null,"api_secret":null,"is_managed_by__service_instance":{"__id":6},"should_be_running__release":null,"should_be_operated_by__release":null,"is_managed_by__device":null,"should_be_managed_by__release":null,"is_web_accessible":false,"overall_status":"idle","overall_progress":null}]}%
I tried a few different releases, here are the details from the curl response:
url -X GET "https://api.xxx/v6/release?$filter=belongs_to__application%20eql%201'" -H 'Content-Type: application/json' -H 'Authorization: Bearer xxx'
{"d":[{"created_at":"2022-06-28T18:10:26.867Z","modified_at":"2022-06-28T18:10:34.128Z","id":1,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","networks":{},"volumes":{"resin-data":{}},"services":{"main":{"build":{"context":"."},"privileged":true,"tty":true,"restart":"always","network_mode":"host","volumes":["resin-data:/data"],"labels":{"io.resin.features.kernel-modules":"1","io.resin.features.firmware":"1","io.resin.features.dbus":"1","io.resin.features.supervisor-api":"1","io.resin.features.resin-api":"1"}}}},"status":"failed","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-28T18:10:26.616Z","end_timestamp":"2022-06-28T18:10:33.947Z","update_timestamp":"2022-06-28T18:10:34.122Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-28T18:10:26.904Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":0,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0","version":{"raw":"0.0.0","major":0,"minor":0,"patch":0,"prerelease":[],"build":[],"version":"0.0.0"}},{"created_at":"2022-06-28T18:15:14.779Z","modified_at":"2022-06-28T18:15:22.141Z","id":2,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","networks":{},"volumes":{"resin-data":{}},"services":{"main":{"build":{"context":"."},"privileged":true,"tty":true,"restart":"always","network_mode":"host","volumes":["resin-data:/data"],"labels":{"io.resin.features.kernel-modules":"1","io.resin.features.firmware":"1","io.resin.features.dbus":"1","io.resin.features.supervisor-api":"1","io.resin.features.resin-api":"1"}}}},"status":"failed","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-28T18:15:14.546Z","end_timestamp":"2022-06-28T18:15:21.950Z","update_timestamp":"2022-06-28T18:15:22.141Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-28T18:15:14.802Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":1,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev1","version":{"raw":"0.0.0+rev1","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev1"],"version":"0.0.0"}},{"created_at":"2022-06-28T18:15:55.636Z","modified_at":"2022-06-28T18:16:03.356Z","id":3,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","networks":{},"volumes":{"resin-data":{}},"services":{"main":{"build":{"context":"."},"privileged":true,"tty":true,"restart":"always","network_mode":"host","volumes":["resin-data:/data"],"labels":{"io.resin.features.kernel-modules":"1","io.resin.features.firmware":"1","io.resin.features.dbus":"1","io.resin.features.supervisor-api":"1","io.resin.features.resin-api":"1"}}}},"status":"failed","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-28T18:15:55.448Z","end_timestamp":"2022-06-28T18:16:03.176Z","update_timestamp":"2022-06-28T18:16:03.356Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-28T18:15:55.657Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":2,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev2","version":{"raw":"0.0.0+rev2","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev2"],"version":"0.0.0"}},{"created_at":"2022-06-28T18:22:16.435Z","modified_at":"2022-06-28T18:22:36.343Z","id":4,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","networks":{},"volumes":{"resin-data":{}},"services":{"main":{"build":{"context":"."},"privileged":true,"tty":true,"restart":"always","network_mode":"host","volumes":["resin-data:/data"],"labels":{"io.resin.features.kernel-modules":"1","io.resin.features.firmware":"1","io.resin.features.dbus":"1","io.resin.features.supervisor-api":"1","io.resin.features.resin-api":"1"}}}},"status":"success","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-28T18:22:16.241Z","end_timestamp":"2022-06-28T18:22:36.170Z","update_timestamp":"2022-06-28T18:22:36.343Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-28T18:22:16.459Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":3,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev3","version":{"raw":"0.0.0+rev3","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev3"],"version":"0.0.0"}},{"created_at":"2022-06-28T18:41:57.424Z","modified_at":"2022-06-28T18:42:04.491Z","id":5,"belongs_to__application":{"__id":1},"commit":"xxx,"composition":{"version":"2.1","networks":{},"volumes":{"resin-data":{}},"services":{"main":{"build":{"context":"."},"privileged":true,"tty":true,"restart":"always","network_mode":"host","volumes":["resin-data:/data"],"labels":{"io.resin.features.kernel-modules":"1","io.resin.features.firmware":"1","io.resin.features.dbus":"1","io.resin.features.supervisor-api":"1","io.resin.features.resin-api":"1"}}}},"status":"success","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-28T18:41:57.222Z","end_timestamp":"2022-06-28T18:42:04.307Z","update_timestamp":"2022-06-28T18:42:04.490Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-28T18:41:57.446Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":4,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev4","version":{"raw":"0.0.0+rev4","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev4"],"version":"0.0.0"}},{"created_at":"2022-06-28T18:57:45.921Z","modified_at":"2022-06-28T18:58:43.102Z","id":6,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","volumes":{"config":{},"backup":{},"cgroup":{},"store":{},"zwave-config":{}},"services":{"sh_pijuice":{"build":{"context":"./sh_pijuice"},"restart":"always","privileged":true,"devices":["/dev/i2c-1:/dev/i2c-1"],"volumes":["config:/config","cgroup:/sys/fs/cgroup"],"labels":{"io.balena.features.supervisor-api":"true","io.balena.features.dbus":"true","io.balena.features.kernel-modules":"true"}}}},"status":"success","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-28T18:57:45.689Z","end_timestamp":"2022-06-28T18:58:42.914Z","update_timestamp":"2022-06-28T18:58:43.100Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-28T18:57:45.948Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":5,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev5","version":{"raw":"0.0.0+rev5","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev5"],"version":"0.0.0"}},{"created_at":"2022-06-30T13:15:38.897Z","modified_at":"2022-06-30T13:15:54.388Z","id":7,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","networks":{},"volumes":{"resin-data":{}},"services":{"main":{"build":{"context":"."},"privileged":true,"tty":true,"restart":"always","network_mode":"host","volumes":["resin-data:/data"],"labels":{"io.resin.features.kernel-modules":"1","io.resin.features.firmware":"1","io.resin.features.dbus":"1","io.resin.features.supervisor-api":"1","io.resin.features.resin-api":"1"}}}},"status":"success","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-30T13:15:38.664Z","end_timestamp":"2022-06-30T13:15:54.151Z","update_timestamp":"2022-06-30T13:15:54.388Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-30T13:15:38.922Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":6,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev6","version":{"raw":"0.0.0+rev6","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev6"],"version":"0.0.0"}},{"created_at":"2022-06-30T17:33:38.329Z","modified_at":"2022-06-30T17:33:51.456Z","id":8,"belongs_to__application":{"__id":1},"commit":"xxx","composition":{"version":"2.1","services":{"logger":{"build":{"context":"./logging"},"restart":"always"}}},"status":"success","source":"local","build_log":null,"is_invalidated":false,"start_timestamp":"2022-06-30T17:33:38.091Z","end_timestamp":"2022-06-30T17:33:51.226Z","update_timestamp":"2022-06-30T17:33:51.455Z","release_version":null,"contract":null,"is_passing_tests":true,"is_finalized_at__date":"2022-06-30T17:33:38.353Z","semver_major":0,"semver_minor":0,"semver_patch":0,"revision":7,"known_issue_list":null,"note":null,"invalidation_reason":null,"is_final":true,"semver":"0.0.0","raw_version":"0.0.0+rev7","version":{"raw":"0.0.0+rev7","major":0,"minor":0,"patch":0,"prerelease":[],"build":["rev7"],"version":"0.0.0"}}]}%
From the HostOS terminal of the given device, when posting the request, I get an error:
root@short-uuid:~# curl -X GET -H "Authorization: Bearer $(cat /mnt/boot/config.json | jq -r '.deviceApiKey')" "https://api.myapiendpoint/device/v3/full-device-uuid/state"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /device/v3/full-device-uuid/state</pre>
</body>
</html>
Note that I accessed the HostOS terminal using balena tunnel <device-uuid> -p 22222:22222 and ssh -p 22222 root@localhost
Thanks again! I really appreciate your help troubleshooting this.
Kathryn