Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

ThingsBoard device-profile-controller API

Device Profile

ThingsBoard device-profile-controller API is one of 58 APIs that ThingsBoard publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 11 JSON Schema definitions.

Tagged areas include device-profile-controller. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 11 JSON Schemas.

This API exposes 11 operations across 10 paths, and defines 78 schemas. It is described by OpenAPI 3.1.0, at version 4.3.0.3DEMO.

Requests are made against 2 base URLs: https://demo.thingsboard.io, http://localhost:8080.

11 operations 10 paths 78 schemas 1 DELETE8 GET2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
4.3.0.3DEMO
Servers
https://demo.thingsboard.io
http://localhost:8080
Authentication
HTTP Loginpassword, API Key
License
Resource Areas
1

Authentication & Security 2

ThingsBoard device-profile-controller API declares 2 security schemes for authenticating requests. It uses HTTP loginpassword authentication (HTTP login form). An API key is passed in the header as X-Authorization (API key form).

  • HTTP login form — Enter Username / Password
  • API key form — Enter the API key value with 'ApiKey' prefix in format: ApiKey Example: ApiKey tb5te51SkLRYpjGrujUGwqkjFvooWBlQpVe2An2Dr3w13wjfxDW NOTE: Use only ONE authentic…

Paths & Operations 11

Across 10 paths, the API surfaces 11 operations — 1 DELETE, 8 GET, 2 POST. Each is listed below with its method, path, parameters, and response codes.

device-profile-controller 11

Device Profile

POST
/api/deviceProfile
Create or Update Device Profile (saveDeviceProfile)
saveDeviceProfile body → 200
POST
/api/deviceProfile/{deviceProfileId}/default
Make Device Profile Default (setDefaultDeviceProfile)
setDefaultDeviceProfile 1 param → 200
GET
/api/deviceProfiles
Get Device Profiles (getDeviceProfiles)
getDeviceProfiles 5 params → 200
GET
/api/deviceProfileInfos
Get Device Profile Infos by Ids (getDeviceProfilesByIds)
getDeviceProfileInfos 7 params → 200
GET
/api/deviceProfileInfo/{deviceProfileId}
Get Device Profile Info (getDeviceProfileInfoById)
getDeviceProfileInfoById 1 param → 200
GET
/api/deviceProfileInfo/default
Get Default Device Profile (getDefaultDeviceProfileInfo)
getDefaultDeviceProfileInfo → 200
GET
/api/deviceProfile/{deviceProfileId}
Get Device Profile (getDeviceProfileById)
getDeviceProfileById 2 params → 200
DELETE
/api/deviceProfile/{deviceProfileId}
Delete Device Profile (deleteDeviceProfile)
deleteDeviceProfile 1 param → 200
GET
/api/deviceProfile/names
Get Device Profile Names (getDeviceProfileNames)
getDeviceProfileNames 1 param → 200
GET
/api/deviceProfile/devices/keys/timeseries
Get Time Series Keys (getTimeseriesKeys)
getTimeseriesKeys_1 1 param → 200
GET
/api/deviceProfile/devices/keys/attributes
Get Attribute Keys (getAttributesKeys)
getAttributesKeys 1 param → 200

Schemas 78

The contract defines 78 schemas that model the data the API accepts and returns. The most detailed are DeviceProfile (19 properties), ObjectAttributes (12 properties), OtherConfiguration (11 properties), DeviceProfileAlarm (8 properties). Each schema is shown below with its type and property counts.

ObjectAttributes
object
12 properties
AlarmCondition
object
2 properties
SharedAttributesSettingSnmpCommunicationConfig
EfentoCoapDeviceTypeConfiguration
Lwm2mDeviceProfileTransportConfiguration
FilterPredicateValueDouble
object
3 properties
FilterPredicateValueBoolean
object
3 properties
AnyTimeSchedule
SpecificTimeSchedule
DashboardId
object
2 properties 2 required
DefaultDeviceProfileTransportConfiguration
NumericFilterPredicate
EntityInfo
object
2 properties
MqttDeviceProfileTransportConfiguration
DynamicValueBoolean
object
4 properties
RepeatingAlarmConditionSpec
RuleChainId
object
2 properties 2 required
PSKLwM2MBootstrapServerCredential
ToServerRpcRequestSnmpCommunicationConfig
DeviceProfileId
object
2 properties 2 required
NoSecLwM2MBootstrapServerCredential
DisabledDeviceProfileProvisionConfiguration
PageDataDeviceProfile
object
4 properties
LwM2mVersion
object
1 property
DeviceProfileAlarm
object
8 properties
DeviceProfileInfo
object
7 properties
PageDataDeviceProfileInfo
object
4 properties
DeviceProfileData
object
4 properties
TelemetryQueryingSnmpCommunicationConfig
AlarmRule
object
4 properties
DeviceProfileConfiguration
object
1 property 1 required
TelemetryMappingConfiguration
object
7 properties
StringFilterPredicate
CustomTimeSchedule
CustomTimeScheduleItem
object
4 properties
DeviceProfileProvisionConfiguration
object
2 properties 1 required
SnmpMapping
object
3 properties
DynamicValueInteger
object
4 properties
EntityId
object
2 properties 2 required
AlarmSchedule
object
2 properties
CoapDeviceProfileTransportConfiguration
ToDeviceRpcRequestSnmpCommunicationConfig
OtaPackageId
object
2 properties 2 required
SimpleAlarmConditionSpec
DurationAlarmConditionSpec
DynamicValueLong
object
4 properties
PowerSavingConfiguration
object
4 properties
DefaultDeviceProfileConfiguration
KeyFilterPredicate
object
1 property 1 required
ClientAttributesQueryingSnmpCommunicationConfig
Version
OtherConfiguration
object
11 properties
AlarmConditionFilterKey
object
2 properties
X509CertificateChainProvisionConfiguration
FilterPredicateValueLong
object
3 properties
SnmpCommunicationConfig
object
1 property
AllowCreateNewDevicesDeviceProfileProvisionConfiguration
X509LwM2MBootstrapServerCredential
LwM2MBootstrapServerCredential
object
1 property 1 required
AlarmConditionFilter
object
4 properties
TransportPayloadTypeConfiguration
object
1 property 1 required
DynamicValueString
object
4 properties
ComplexFilterPredicate
DefaultCoapDeviceTypeConfiguration
FilterPredicateValueString
object
3 properties
RPKLwM2MBootstrapServerCredential
DynamicValueDouble
object
4 properties
FilterPredicateValueInteger
object
3 properties
DeviceProfileTransportConfiguration
object
1 property 1 required
JsonTransportPayloadConfiguration
CoapDeviceTypeConfiguration
object
1 property 1 required
AlarmConditionSpec
object
1 property 1 required
DeviceProfile
object
A JSON value representing the device profile.
19 properties
BooleanFilterPredicate
SnmpDeviceProfileTransportConfiguration
CheckPreProvisionedDevicesDeviceProfileProvisionConfiguration
TenantId
object
2 properties 2 required
ProtoTransportPayloadConfiguration

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

thingsboard-device-profile-controller-api-openapi.yml Raw ↑

Other APIs ThingsBoard publishes across the network.

ThingsBoard admin-controller API
ThingsBoard ai-model-controller API
ThingsBoard alarm-comment-controller API
ThingsBoard alarm-controller API
ThingsBoard api-key-controller API
ThingsBoard asset-controller API
ThingsBoard asset-profile-controller API
ThingsBoard audit-log-controller API
ThingsBoard auth-controller API
ThingsBoard calculated-field-controller API
ThingsBoard component-descriptor-controller API
ThingsBoard customer-controller API