List Device Type Definitions
Returns the device type definitions used by devices accessible to the authenticated client, including hardware capabilities and operation details.
Usage Guidance
Each profiles[] item corresponds to one deviceType. profiles[].deviceType maps directly to the deviceType returned by List Devices or Get Device. After reading a device deviceType, find the profile with the same value in this endpoint and use it to decide which data can be rendered and which control capabilities are available. Fetch once at application startup, reuse the result on the client side, and re-fetch only when a device returns a new deviceType. If a device returns UNSUPPORTED, it means no OpenAPI device type definition is currently available for that device, so it cannot be integrated through the standard capability model yet.
Rate Limit
Device profiles are intended to be cached and reused by clients. Excessive queries return 429 RATE_LIMITED.
Endpoint
GET /wlte/v1/device-profilesAuthorization Requirements
| Scope | Required | Description |
|---|---|---|
device:read | Yes | Read device type definitions used by devices that are currently accessible |
Request
Full URL:
GET {baseUrl}/wlte/v1/device-profilesRequest headers:
Authorization: Bearer {accessToken}
Accept: application/jsonQuery parameters:
- This version does not define any query parameters
- This version does not support pagination. The endpoint returns all device type definitions used by devices that are currently accessible to the client in one response
Success Response
HTTP status:
200 OKResponse body:
{
"code": "SUCCESS",
"message": "OK.",
"requestId": "req_001",
"data": {
"profiles": [
{
"deviceType": "GP4_A4",
"capabilities": {
"relayCount": 4,
"digitalInputCount": 4,
"analogInputCount": 4,
"sensorInterfaces": [
{
"index": 1,
"supportedTypes": ["TEMP", "TEMP_HUMI"]
}
],
"supportedOperations": [
"device.relay.set",
"device.rs485.transceive",
"device.rs485.baudRate.set"
],
"operationSpecs": {
"relay": {
"actions": ["ON", "OFF", "JOG"]
}
}
}
}
]
}
}Response data Schema
| Field | Type | Required | Description |
|---|---|---|---|
profiles | array<DeviceProfile> | Yes | Device type definition list |
DeviceProfile Schema
| Field | Type | Required | Description |
|---|---|---|---|
deviceType | string | Yes | Stable device capability code used to identify the device capability profile |
capabilities | object | Yes | Device capability details |
Capabilities Schema
| Field | Type | Required | Description |
|---|---|---|---|
relayCount | integer | No | Number of relay channels |
digitalInputCount | integer | No | Number of digital input channels |
analogInputCount | integer | No | Number of analog input channels |
sensorInterfaces | array<SensorInterface> | No | Sensor interface list |
supportedOperations | array<string> | No | Operation capabilities supported by this device type |
operationSpecs | object | No | Structured supplementary details for selected operations |
SensorInterface Schema
| Field | Type | Required | Description |
|---|---|---|---|
index | integer | Yes | Sensor interface index, starting from 1 |
supportedTypes | array<string> | Yes | Physical sensor types supported by this interface |
Supported Sensor Type Values
| Value | Description |
|---|---|
TEMP | Temperature sensor |
TEMP_HUMI | Temperature-humidity sensor |
Supported Operation Values
| Value | Description |
|---|---|
device.relay.set | Supports relay control. Check operationSpecs.relay.actions for allowed actions |
device.rs485.transceive | Supports RS485 passthrough commands |
device.rs485.baudRate.set | Supports setting the RS485 baud rate |
Returned Scope
The current version only returns device type definitions used by devices that the current client is allowed to access.
Unused device types and device types outside the current access range are not returned.
OperationSpecs Schema
operationSpecs is not the capability switch. Use supportedOperations to determine which operations are available. operationSpecs only adds structured parameters for selected operations.
| Field | Type | Required | Description |
|---|---|---|---|
relay.actions | array<string> | No | Allowed relay actions. The current version may return ON, OFF, and JOG |
- When
supportedOperationscontainsdevice.rs485.transceive, the device type supports RS485 passthrough - When
supportedOperationscontainsdevice.rs485.baudRate.set, the device type supports RS485 baud-rate configuration - When
relay.actionscontainsJOG, the device type supports jog commands - Jog duration is configured through
PUT /wlte/v1/devices/{deviceId}/relays/{index}/jog-config - The current API only guarantees that
durationSecis a positive integer number of seconds. Profile responses do not expose per-model jog min/max values yet
Error Responses
Possible responses:
400 INVALID_REQUEST401 AUTH_REQUIRED401 AUTH_INVALID401 AUTH_EXPIRED403 AUTH_SCOPE_DENIED429 RATE_LIMITED500 INTERNAL_ERROR
