Fetch Device(s)
This section of the Device API explains how to retrieve one or more devices.
Get Device CloudGateway
GET /v3/devices/{device_id}
Request
$ curl http://api.enapter.com/v3/devices/b55d3dc3-c2ee-4acf-98bd-839273d7ef07
Expand response with communication and connectivity:
$ curl http://api.enapter.com/v3/devices/b55d3dc3-c2ee-4acf-98bd-839273d7ef07?expand=communication,connectivity
Query Parameters
expandarray of strings#Comma-separated list of additional device information to display. By default, no additional fields are included.
Supported values:
site— includes information about the site, to which the device is connected.manifest— includes device blueprint manifest.properties— includes the last received device properties.connectivity— includes current device connection status.communication— includes device communication info.
Response
Default response:
{
"device": {
"id": "b55d3dc3-c2ee-4acf-98bd-839273d7ef07",
"blueprint_id": "1cd1189f-5b2b-4b00-a8fc-a95484d91a6e",
"name": "Gas detector in living room",
"site_id": "7073f31f-0f72-4056-b43f-fb21ab020479",
"updated_at": "2025-08-04T07:22:07.988115Z",
"slug": "gas-detector-in-living-room",
"type": "LUA",
"authorized_role": "INSTALLER"
}
}
Expanded response:
{
"device": {
"id": "b55d3dc3-c2ee-4acf-98bd-839273d7ef07",
"blueprint_id": "1cd1189f-5b2b-4b00-a8fc-a95484d91a6e",
"name": "My Device",
"site_id": "7073f31f-0f72-4056-b43f-fb21ab020479",
"updated_at": "2025-08-04T07:22:07.988115Z",
"slug": "my-device",
"type": "LUA",
"authorized_role": "INSTALLER",
"communication": {
"type": "UCM_LUA",
"upstream_id": "c750175f-331c-4a34-b7fd-4b8c4a1a136f"
},
"connectivity": {"status": "ONLINE"}
}
}
deviceobject#Deviceobject containing device information.Device.idstring#Device ID.
Device.blueprint_idstring#Blueprint ID.
Device.site_idstring#Site ID.
Device.namestring#Device name.
Device.updated_atstring#The latest update time of the device in RFC 3339 format.
Device.authorized_rolestring#The user's authorized role for the device.
Device.slugstring#Device slug.
Device.typestring#One of the following types:
STANDALONE– device that operates independently without needing to be connected to a Gateway or other Enapter hardware.GATEWAY– device that connects Enapter energy systems to the Enapter Cloud for data communication, remote monitoring and control.EMBEDDED_UCM– communication module, which embedded into Enapter devices UCM,HARDWARE_UCM– Enapter Universal Communication Module (UCM),VIRTUAL_UCM– Enapter virtual UCM,LINK_MASTER_UCM, – Enapter LINK master device,LINK_SLAVE_UCM– Enapter UCM, connected to Enapter LINK master device,LUA– a third-party device, which connected to Enapter UCM and controlled by a Lua script,NATIVE– Enapter device like Electrolyser or Dryer.
Device.implemented_profilesarray of strings#A list of profiles implemented by the device. You can also find them in the device's manifest.
Expanded fields
Expanded fields are included in the response only if you specify them in the
expandquery parameter.Device.propertiesobject#Device properties.
Device.communicationobject#DeviceCommunicationobject represents device's communication info.Communication.typestring#A type of communication to the Enapter EMS:
MQTT_V1_PLAINTEXT– unencrypted MQTT connection;MQTT_V1_TLS– encrypted MQTT connection (MQTTS);MQTT_V1_LOCALHOST– connected to a local MQTT server;UCM_LUA– connected to Enapter UCM, hardware or virtual;UCM_EMBEDDED– via embedded UCM;LINK– via Enapter LINK.
Communication.upstream_idstring#Device ID of upstream device. Will be omited for devices connected to MQTT brocker directly
Communication.hardware_idstring#Device communication hardware ID. Will be set for devices connected to MQTT brocker directly.
Communication.channel_idstring#Device communication channel ID. Will be set for devices connected to MQTT brocker directly.
Device.siteobject#siteobject#Siteobject contains site information.Site.idstring#ID of the site.
Site.namestring#Name of the site.
Site.timezonestring#Timezone of the site.
Site.locationobject#The site location information.
location.namestring#Location name of the site.
location.latitudestring#Location latitude of the site.
location.longitudestring#Location longitude of the site.
Site.authorized_rolestring#User authorized role for the site. See authorization system for more details.
Site.versionstring#Version of the site. Should be always
V3at now.
List Devices CloudGateway
GET /v3/devices
Get a list of devices.
Request
$ curl http://api.enapter.com/v3/devices
To enrich response with an additional information:
$ curl http://api.enapter.com/v3/devices?expand=communication,connectivity
Query Parameters
limitnumber#The maximum number of devices to return.
offsetnumber#The number of devices to skip. Devices are ordered by ID.
profiles.hasstring#Filter devices by profiles.
expandarray of strings#Comma-separated list of additional device information to display. By default, no additional fields are included.
Supported values:
site— includes information about the site, to which the device is connected.manifest— includes device blueprint manifest.properties— includes the last received device properties.connectivity— includes current device connection status.communication— includes device communication info.
Response
Default response:
{
"devices": [
{
"id": "c750175f-331c-4a34-b7fd-4b8c4a1a136f",
"blueprint_id": "3c2bacdf-a59d-42d5-b0a4-cd9be369bdc6",
"name": "My UCM",
"site_id": "7073f31f-0f72-4056-b43f-fb21ab020479",
"updated_at": "2025-08-04T07:22:07.988115Z",
"slug": "my-ucm",
"type": "HARDWARE_UCM",
"authorized_role": "INSTALLER"
},
{
"id": "b55d3dc3-c2ee-4acf-98bd-839273d7ef07",
"blueprint_id": "1cd1189f-5b2b-4b00-a8fc-a95484d91a6e",
"name": "My Device",
"site_id": "7073f31f-0f72-4056-b43f-fb21ab020479",
"updated_at": "2025-08-04T07:22:07.988115Z",
"slug": "my-device",
"type": "LUA",
"authorized_role": "INSTALLER"
}
],
"total_count": 2
}
Expanded response:
{
"devices": [
{
"id": "c750175f-331c-4a34-b7fd-4b8c4a1a136f",
"blueprint_id": "3c2bacdf-a59d-42d5-b0a4-cd9be369bdc6",
"name": "My UCM",
"site_id": "7073f31f-0f72-4056-b43f-fb21ab020479",
"updated_at": "2025-08-04T07:22:07.988115Z",
"slug": "my-ucm",
"type": "HARDWARE_UCM",
"authorized_role": "INSTALLER",
"communication": {
"type": "MQTT_V1_TLS",
"hardware_id": "C8795CBA5375484E829105E959663C8B",
"channel_id": "ucm"
},
"connectivity": {"status": "ONLINE"}
},
{
"id": "b55d3dc3-c2ee-4acf-98bd-839273d7ef07",
"blueprint_id": "1cd1189f-5b2b-4b00-a8fc-a95484d91a6e",
"name": "My Device",
"site_id": "7073f31f-0f72-4056-b43f-fb21ab020479",
"updated_at": "2025-08-04T07:22:07.988115Z",
"slug": "my-device",
"type": "LUA",
"authorized_role": "INSTALLER",
"communication": {
"type": "UCM_LUA",
"upstream_id": "c750175f-331c-4a34-b7fd-4b8c4a1a136f"
},
"connectivity": {"status": "ONLINE"}
}
],
"total_count": 2
}
total_countinteger#The total number of all available user's devices. It can be bigger than count of devices in reponse in case of
total_countbigger thanlimitfrom request.
devicesarray of objects#A list of
Deviceobjects.deviceobject#Deviceobject containing device information.Device.idstring#Device ID.
Device.blueprint_idstring#Blueprint ID.
Device.site_idstring#Site ID.
Device.namestring#Device name.
Device.updated_atstring#The latest update time of the device in RFC 3339 format.
Device.authorized_rolestring#The user's authorized role for the device.
Device.slugstring#Device slug.
Device.typestring#One of the following types:
STANDALONE– device that operates independently without needing to be connected to a Gateway or other Enapter hardware.GATEWAY– device that connects Enapter energy systems to the Enapter Cloud for data communication, remote monitoring and control.EMBEDDED_UCM– communication module, which embedded into Enapter devices UCM,HARDWARE_UCM– Enapter Universal Communication Module (UCM),VIRTUAL_UCM– Enapter virtual UCM,LINK_MASTER_UCM, – Enapter LINK master device,LINK_SLAVE_UCM– Enapter UCM, connected to Enapter LINK master device,LUA– a third-party device, which connected to Enapter UCM and controlled by a Lua script,NATIVE– Enapter device like Electrolyser or Dryer.
Device.implemented_profilesarray of strings#A list of profiles implemented by the device. You can also find them in the device's manifest.
Expanded fields
Expanded fields are included in the response only if you specify them in the
expandquery parameter.Device.propertiesobject#Device properties.
Device.communicationobject#DeviceCommunicationobject represents device's communication info.Communication.typestring#A type of communication to the Enapter EMS:
MQTT_V1_PLAINTEXT– unencrypted MQTT connection;MQTT_V1_TLS– encrypted MQTT connection (MQTTS);MQTT_V1_LOCALHOST– connected to a local MQTT server;UCM_LUA– connected to Enapter UCM, hardware or virtual;UCM_EMBEDDED– via embedded UCM;LINK– via Enapter LINK.
Communication.upstream_idstring#Device ID of upstream device. Will be omited for devices connected to MQTT brocker directly
Communication.hardware_idstring#Device communication hardware ID. Will be set for devices connected to MQTT brocker directly.
Communication.channel_idstring#Device communication channel ID. Will be set for devices connected to MQTT brocker directly.
Device.siteobject#siteobject#Siteobject contains site information.Site.idstring#ID of the site.
Site.namestring#Name of the site.
Site.timezonestring#Timezone of the site.
Site.locationobject#The site location information.
location.namestring#Location name of the site.
location.latitudestring#Location latitude of the site.
location.longitudestring#Location longitude of the site.
Site.authorized_rolestring#User authorized role for the site. See authorization system for more details.
Site.versionstring#Version of the site. Should be always
V3at now.