api:flexcare:device:list
Table of Contents
API : FlexCare : Device : List
Introduction
This request is used to return a list of FlexCare devices
Request
| URL | https://api.telecomx.dk/flexcare/device | |
|---|---|---|
| Method | GET | |
| Access level | MANAGER Customer must have the FLEXCARE feature |
|
| Query | offset | [optional] Index of the first device to return, default is 0, minimum 0. |
| limit | [optional] The number of devices to return, default is 100, minimum 1, maximum 500 |
|
| filter | [optional] Used to filter results, maximum 200 characters Fields searched: [name, deviceId, serial, notes, ip, public ip, lanMac, wifiMac, technicalRoomNumber, usedRoomNumber, custom field values] |
|
| customerId | [optional] If not given users own customer is used |
|
| type | [optional] Type of devices to return, android devices are matched on the device type of their profile values: 'STB', 'ANDROID_TABLET', 'ANDROID_BOX' |
|
| environment | [optional] Which environment to return devices from, default is 'PRODUCTION' Takes precedence over showDevelopment values: 'ALL', 'DEVELOPMENT', 'PRODUCTION' |
|
| showDevelopment | [optional] Boolean value of whether to include development devices, default is false Ignored if environment is given values: 'true', 'false' |
|
| group | [optional] Unique id of a group |
|
| heartbeatStatus | [optional] Heartbeat status of device, based on info.lastComm 'ONLINE' = seen within 5 minutes, 'PRESUMEDDEAD' = older than 5 minutes but within 4 hours, 'DEAD' = older than 4 hours or never seen, 'ALLOFFLINE' = everything not 'ONLINE' values: 'DEAD', 'PRESUMEDDEAD', 'ALLOFFLINE', 'ONLINE' |
|
| sortby | [optional] Field to sort devices by, default is 'NAME' All sorts except 'NAME' use name as tiebreaker values: 'NAME', 'USEDROOMNUM', 'TECHNICALROOMNUM', 'DEVICEID', 'SERIAL' |
|
| sortdir | [optional] Direction to sort devices in, default is 'ASC' values: 'ASC', 'DESC' |
|
Query examples
https://api.telecomx.dk/flexcare/device https://api.telecomx.dk/flexcare/device?offset=25&limit=50&filter=something https://api.telecomx.dk/flexcare/device?type=ANDROID_TABLET&heartbeatStatus=ONLINE https://api.telecomx.dk/flexcare/device?environment=DEVELOPMENT https://api.telecomx.dk/flexcare/device?sortby=SERIAL&sortdir=ASC
Response
| JSON Object | ||
|---|---|---|
| offset | Number | Index of the first device returned |
| limit | Number | Limit of devices returned |
| total | Number | Total amount of devices matching query |
| items | Array<DeviceListObject> | List of devices |
| DeviceListObject | ||
|---|---|---|
| _id | ObjectId | Unique id of the device |
| type | String | Type of device values: 'STB', 'ANDROID' |
| androidType | String? | Type of android device, null if type is not 'ANDROID' values: 'ANDROID_TABLET', 'ANDROID_BOX' |
| name | String | Name of the device |
| deviceId | String | Device id of the device, MAC address for 'STB' devices |
| customer | ObjectId | Unique id of the customer owning the device |
| info | DeviceInfo | Misc. info about device |
| enabled | Boolean | Whether the device is enabled or not |
| profileId | ObjectId? | Unique id of the devices profile, stb profile if type is 'STB', tablet profile if type is 'ANDROID', null if no profile is assigned |
| profileName | String? | Name of the devices profile, null if no profile is assigned or the profile no longer exists |
| appsMissing | Array<String> | Names of the applications the devices profile requires, but that are not installed, empty array if type is not 'ANDROID' |
| appsOutdated | Array<String> | Names of the applications installed in an older version than the devices profile requires, empty array if type is not 'ANDROID' |
| groups | Array<DeviceGroup> | Groups the device is a member of, only groups that still exist on the customer are returned |
| watchingLive | Boolean | True if the device is currently tuned to a channel and has communicated within the last 5 minutes |
| tvPackages | Number | Number of TV packages assigned to the device |
| tvChannels | Number | Number of unique channels across the devices TV packages, a channel in multiple packages only counts once |
| DeviceInfo | ||
|---|---|---|
| model | String? | Model of the device, omitted if the device has never reported a model |
| lastComm | ISO Date? | Last communication with device, omitted if no prior communication |
| appVersion | String? | Version of the android launcher if type is 'ANDROID', version of stb-launcher if type is 'STB', null if unknown |
| androidVersion | String? | Version of android on the device, null if type is not 'ANDROID' |
| hbversion | String? | Heartbeat version of the device, null if type is not 'STB' |
| lastRemoteLowBattery | ISO Date? | Last time the devices remote reported low battery, only returned if within the last 7 days, otherwise null |
| DeviceGroup | ||
|---|---|---|
| _id | ObjectId | Unique id of the group |
| name | String | Name of the group |
Example
{ "offset": 0, "limit": 50, "total": 2, "items": [ { "_id": "1234567890qwertyuiopqwer", "type": "ANDROID", "androidType": "ANDROID_TABLET", "name": "15.6\" Hjemme", "deviceId": "1701223", "customer": "1234567890qwertyuiopqwer", "info": { "model": "TC15", "lastComm": "2026-09-08T11:40:05.042Z", "appVersion": "211", "androidVersion": "10", "hbversion": null, "lastRemoteLowBattery": null }, "enabled": true, "profileId": "1234567890qwertyuiopqwer", "profileName": "Patientstuer", "appsMissing": [], "appsOutdated": [ "Amazon Prime Video" ], "groups": [ { "_id": "1234567890qwertyuiopqwer", "name": "Afsnit 3" } ], "watchingLive": true, "tvPackages": 2, "tvChannels": 47 }, { "_id": "1234567890qwertyuiopqwer", "type": "STB", "androidType": null, "name": "MAG520, Arbejde", "deviceId": "00:1A:79:73:AF:D1", "customer": "1234567890qwertyuiopqwer", "info": { "model": "MAG520", "lastComm": "2026-09-09T10:45:01.676Z", "appVersion": "2.1.1", "androidVersion": null, "hbversion": "3.5", "lastRemoteLowBattery": "2026-09-04T07:12:44.108Z" }, "enabled": true, "profileId": null, "profileName": null, "appsMissing": [], "appsOutdated": [], "groups": [], "watchingLive": false, "tvPackages": 1, "tvChannels": 32 } ] }
Errors
| Error code | Message | Description |
|---|---|---|
| 403 | access_denied | Insufficient access level, no access to the given customer or the customer does not have the FLEXCARE feature |
| 422 | customerId | Not a valid ObjectId |
| 422 | offset | Not a number or less than 0 |
| 422 | limit | Not a number, less than 1 or greater than 500 |
| 422 | type | Not one of the allowed values |
| 422 | environment | Not one of the allowed values |
| 422 | group | Not a valid ObjectId |
| 422 | heartbeatStatus | Not one of the allowed values |
| 422 | filter | Longer than 200 characters |
| 422 | sortby | Not one of the allowed values |
| 422 | sortdir | Not one of the allowed values |
| 500 | internal_error | <Unspecified> |
api/flexcare/device/list.txt · Last modified: by Mikkel Frederiksen