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>