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 asset-controller API

Asset

ThingsBoard asset-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 asset-controller. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 11 JSON Schemas.

This API exposes 18 operations across 15 paths, and defines 16 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.

18 operations 15 paths 16 schemas 3 DELETE9 GET6 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 asset-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 18

Across 15 paths, the API surfaces 18 operations — 3 DELETE, 9 GET, 6 POST. Each is listed below with its method, path, parameters, and response codes.

asset-controller 18

Asset

POST
/api/edge/{edgeId}/asset/{assetId}
Assign Asset to Edge (assignAssetToEdge)
assignAssetToEdge 2 params → 200
DELETE
/api/edge/{edgeId}/asset/{assetId}
Unassign Asset from Edge (unassignAssetFromEdge)
unassignAssetFromEdge 2 params → 200
POST
/api/customer/{customerId}/asset/{assetId}
Assign Asset to Customer (assignAssetToCustomer)
assignAssetToCustomer 2 params → 200
POST
/api/customer/public/asset/{assetId}
Make Asset Publicly Available (assignAssetToPublicCustomer)
assignAssetToPublicCustomer 1 param → 200
GET
/api/assets
Get Assets by Ids (getAssetsByIds)
getAssetsByIds 1 param → 200
POST
/api/assets
Find Related Assets (findByQuery)
findByQuery_4 body → 200
POST
/api/asset
Create or Update Asset (saveAsset)
saveAsset 3 params body → 200
POST
/api/asset/bulk_import
Import the Bulk of Assets (processAssetsBulkImport)
processAssetsBulkImport body → 200
GET
/api/tenant/assets
Get Tenant Asset (getTenantAsset)
getTenantAssets 7 params → 200
GET
/api/tenant/assetInfos
Get Tenant Asset Infos (getTenantAssetInfos)
getTenantAssetInfos 7 params → 200
GET
/api/edge/{edgeId}/assets
Get Assets Assigned to Edge (getEdgeAssets)
getEdgeAssets 9 params → 200
GET
/api/customer/{customerId}/assets
Get Customer Assets (getCustomerAssets)
getCustomerAssets 7 params → 200
GET
/api/customer/{customerId}/assetInfos
Get Customer Asset Infos (getCustomerAssetInfos)
getCustomerAssetInfos 8 params → 200
GET
/api/asset/{assetId}
Get Asset (getAssetById)
getAssetById 1 param → 200
DELETE
/api/asset/{assetId}
Delete Asset (deleteAsset)
deleteAsset 1 param → 200
GET
/api/asset/typesdeprecated
Get Asset Types (getAssetTypes)
getAssetTypes → 200
GET
/api/asset/info/{assetId}
Get Asset Info (getAssetInfoById)
getAssetInfoById 1 param → 200
DELETE
/api/customer/asset/{assetId}
Unassign Asset from Customer (unassignAssetFromCustomer)
unassignAssetFromCustomer 1 param → 200

Schemas 16

The contract defines 16 schemas that model the data the API accepts and returns. The most detailed are AssetInfo (13 properties), Asset (10 properties), RelationsSearchParameters (6 properties), PageDataAsset (4 properties). Each schema is shown below with its type and property counts.

AssetInfo
object
13 properties 1 required
AssetProfileId
object
2 properties 2 required
PageDataAssetInfo
object
4 properties
JsonNode
A value representing the any type (object or primitive)
Asset
object
10 properties 1 required
BulkImportRequest
object
2 properties
AssetSearchQuery
object
3 properties
ColumnMapping
object
2 properties
RelationsSearchParameters
object
6 properties
EntitySubtype
object
3 properties
BulkImportResultAsset
object
4 properties
TenantId
object
2 properties 2 required
CustomerId
object
2 properties 2 required
Mapping
object
4 properties
PageDataAsset
object
4 properties
AssetId
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

thingsboard-asset-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-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
ThingsBoard dashboard-controller API