ThingsBoard Device Controller API

Device

Operations 25

POST /api/tenant/{tenantId}/device/{deviceId} Assign Device to Tenant (assignDeviceToTenant) #
POST /api/edge/{edgeId}/device/{deviceId} Assign Device to Edge (assignDeviceToEdge) #
DELETE /api/edge/{edgeId}/device/{deviceId} Unassign Device from Edge (unassignDeviceFromEdge) #
GET /api/devices Get Devices by Ids (getDevicesByIds) #
POST /api/devices Find Related Devices (findByQuery) #
POST /api/device Create or Update Device (saveDevice) #
POST /api/device/credentials Update Device Credentials (updateDeviceCredentials) #
POST /api/device/bulk_import Import the Bulk of Devices (processDevicesBulkImport) #
POST /api/device-with-credentials Create Device (saveDevice) with Credentials #
POST /api/customer/{customerId}/device/{deviceId} Assign Device to Customer (assignDeviceToCustomer) #
POST /api/customer/public/device/{deviceId} Make Device Publicly Available (assignDeviceToPublicCustomer) #
POST /api/customer/device/{deviceName}/claim Claim Device (claimDevice) #
DELETE /api/customer/device/{deviceName}/claim Reclaim Device (reClaimDevice) #
GET /api/tenant/devices Get Tenant Device (getTenantDevice) #
GET /api/tenant/deviceInfos Get Tenant Device Infos (getTenantDeviceInfos) #
GET /api/edge/{edgeId}/devices Get Devices Assigned to Edge (getEdgeDevices) #
GET /api/devices/count/{otaPackageType}/{deviceProfileId} Count Devices by Device Profile (countByDeviceProfileAndEmptyOtaPackage) #
GET /api/device/{deviceId} Get Device (getDeviceById) #
DELETE /api/device/{deviceId} Delete Device (deleteDevice) #
GET /api/device/{deviceId}/credentials Get Device Credentials (getDeviceCredentialsByDeviceId) #
GET /api/device/types Get Device Types (getDeviceTypes) #
GET /api/device/info/{deviceId} Get Device Info (getDeviceInfoById) #
GET /api/customer/{customerId}/devices Get Customer Devices (getCustomerDevices) #
GET /api/customer/{customerId}/deviceInfos Get Customer Device Infos (getCustomerDeviceInfos) #
DELETE /api/customer/device/{deviceId} Unassign Device from Customer (unassignDeviceFromCustomer) #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-device-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-deviceprofile-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-asset-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-assetprofile-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-entityrelation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-alarm-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-rulechain-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-dashboard-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-tenant-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-customer-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/json-schema/thingsboard-user-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thingsboard:thingsboard-device-controller-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thingsboard-device-controller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ThingsBoard Devices Device Controller API
  description: 'ThingsBoard Devices API — subset of the ThingsBoard REST API (open-source IoT platform). Covers: Device, Device Profile, Device Connectivity, Ota Package.'
  version: 4.3.0.3DEMO
  contact:
    name: ThingsBoard team
    url: https://thingsboard.io
    email: info@thingsboard.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://demo.thingsboard.io
  description: ThingsBoard Live Demo
- url: http://localhost:8080
  description: Local ThingsBoard server
tags:


# --- truncated at 32 KB (57 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/openapi/thingsboard-device-controller-api-openapi.yml