ThingsBoard logo

ThingsBoard

ThingsBoard is an open-source IoT platform for device connectivity, data collection, processing, and visualization. Licensed under Apache 2.0 and developed by ThingsBoard Inc., it supports multi-tenant device management, telemetry over MQTT/HTTP/CoAP/LwM2M/SNMP, a drag-and-drop rule engine, calculated fields, 600+ customizable dashboard widgets, alarms, RPC, OTA firmware updates, edge computing, mobile apps, and a distributed MQTT broker (TBMQ). Available as Community Edition (free, self-hosted), Professional Edition (self-hosted subscription), and ThingsBoard Cloud (managed PaaS).

15 APIs 20 Features
IoTInternet of ThingsDevice ManagementTelemetryOpen SourceApache 2.0MQTTLwM2MCoAPRule EngineDashboardsEdgeMulti-tenantJavaSpring

APIs

ThingsBoard Devices API

Provision, list, retrieve, update, assign, and delete IoT devices and device profiles. Includes device connectivity helpers and OTA package management for over-the-air firmware ...

ThingsBoard Assets API

Logical/physical asset modelling with profiles, entity views, and typed entity relations for hierarchical IoT solutions (Buildings, Floors, Rooms, Machines). 41 endpoints.

ThingsBoard Telemetry API

Read and write device/asset time-series telemetry and key/value attributes (CLIENT/SERVER/SHARED scopes), run entity queries, and manage calculated fields. 26 endpoints.

ThingsBoard Alarms API

Manage IoT alarms — list, acknowledge, clear, assign, and comment. Includes alarm queries and the alarm-comment thread. 15 endpoints.

ThingsBoard Rule Engine API

Manage Rule Chains, Rule Nodes, and component descriptors that power ThingsBoard's drag-and-drop data-processing engine. 26 endpoints.

ThingsBoard RPC API

One-way and two-way Remote Procedure Calls from server to device, with persistent RPC support (RPC v2). 6 endpoints.

ThingsBoard Dashboards API

Create and manage dashboards, widget bundles, widget types, image resources, and tenant resources that drive the ThingsBoard UI. Includes SCADA dashboards. 57 endpoints.

ThingsBoard Authentication API

Login (JWT), refresh tokens, sign-up, API key management (since 4.3), 2FA, OAuth2 federation, and custom domain configuration. 46 endpoints.

ThingsBoard Tenants and Customers API

Manage tenants, tenant profiles, customers, and users — the multi-tenancy backbone of ThingsBoard. 38 endpoints.

ThingsBoard Admin API

System-administrator endpoints — admin settings, audit logs, events, usage info, queues and queue stats, mail-config templates, QR-code settings, and background jobs. 42 endpoints.

ThingsBoard Notifications API

Manage notification requests, rules, templates, and targets across email, SMS, Slack, MS Teams, mobile push, and web delivery channels. 24 endpoints.

ThingsBoard Edge API

Manage ThingsBoard Edge instances — provisioning, synchronization, event tracking, and entity version control between edge and cloud. 32 endpoints.

ThingsBoard Mobile App API

Manage mobile app configurations and mobile-app bundles used by the ThingsBoard mobile applications (Flutter). 9 endpoints.

ThingsBoard LwM2M API

LwM2M (Lightweight M2M) device-management endpoints for low-power devices over CoAP/DTLS. 2 endpoints.

ThingsBoard AI API

AI model management and Trendz Analytics integration for forecasting, anomaly detection, and predictive-maintenance workflows over IoT telemetry. 4 endpoints.

Features

Open-source (Apache 2.0) IoT platform written in Java/Spring with a TypeScript/Angular UI
409 REST endpoints across 59 controllers exposed via OpenAPI 3.1 (live spec at /v3/api-docs)
Device, asset, customer, tenant, and user management with multi-tenant isolation
Device connectivity over MQTT, HTTP, CoAP, LwM2M, and SNMP
Time-series telemetry storage with PostgreSQL, Cassandra, or TimescaleDB backends
Calculated fields — simple, script-based (TBEL), geofencing, and aggregation
Rule engine with drag-and-drop rule chains and rule nodes
600+ customizable widgets, SCADA dashboards, and white-labelling
Alarm management with severity, status, acknowledgement, assignment, and comments
Remote Procedure Calls (one-way, two-way, and persistent v2)
OTA package delivery for firmware/software updates
Edge computing with the ThingsBoard Edge sidecar and bidirectional sync
TBMQ distributed MQTT broker (100M+ connections, 10M msg/sec)
IoT Gateway with adapters for Modbus, OPC-UA, BLE, BACnet, CAN, ODBC, REST, MQTT
Notification center with email, SMS, Slack, MS Teams, mobile push, and web delivery
JWT and API-key (4.3+) authentication, OAuth2 federation, two-factor auth
Mobile applications for Android and iOS built with Flutter
Trendz Analytics for forecasting and predictive maintenance (PE)
Java and Python REST client SDKs
Horizontal scalability via microservices architecture and Kafka/RabbitMQ queues

Semantic Vocabularies

Thingsboard Context

24 classes · 16 properties

JSON-LD

API Governance Rules

ThingsBoard API Rules

6 rules · 2 errors 4 warnings

SPECTRAL

Example Payloads

Thingsboard Login Example

4 fields

EXAMPLE

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔗
OpenAPI
OpenAPI
🔗
Documentation
Documentation
💰
Pricing
Pricing
🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
📰
Blog
Blog
📄
ReleasePolicy
ReleasePolicy
📄
ChangeLog
ChangeLog
📝
SignUp
SignUp
🔗
Sandbox
Sandbox
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
💻
SourceCode
SourceCode
🔧
Tool
Tool
🔧
Tool
Tool
🔧
Tool
Tool
📦
SDK
SDK
📦
SDK
SDK
🔧
Tool
Tool
🔧
Tool
Tool
📦
SDK
SDK
🔧
Tool
Tool
🔗
Forum
Forum
🔗
License
License
🔗
License
License
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules
🔗
JSONLD
JSONLD

Sources

Raw ↑
aid: thingsboard
url: https://raw.githubusercontent.com/api-evangelist/thingsboard/refs/heads/main/apis.yml
name: ThingsBoard
tags:
  - IoT
  - Internet of Things
  - Device Management
  - Telemetry
  - Open Source
  - Apache 2.0
  - MQTT
  - LwM2M
  - CoAP
  - Rule Engine
  - Dashboards
  - Edge
  - Multi-tenant
  - Java
  - Spring
kind: contract
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
access: 3rd-Party
x-type: opensource
apis:
  - aid: thingsboard:thingsboard-devices-api
    name: ThingsBoard Devices API
    tags:
      - IoT
      - Devices
      - Provisioning
      - OTA
    humanURL: https://thingsboard.io/docs/reference/rest-api/
    properties:
      - url: https://thingsboard.io/docs/reference/rest-api/
        type: Documentation
      - url: openapi/thingsboard-devices-openapi.yml
        type: OpenAPI
      - url: json-schema/thingsboard-device-schema.json
        type: JSONSchema
      - url: json-schema/thingsboard-deviceprofile-schema.json
        type: JSONSchema
    description: >-
      Provision, list, retrieve, update, assign, and delete IoT devices and device profiles. Includes device
      connectivity helpers and OTA package management for over-the-air firmware updates. 40 endpoints across device,
      device-profile, device-connectivity, and ota-package controllers.
  - aid: thingsboard:thingsboard-assets-api
    name: ThingsBoard Assets API
    tags:
      - IoT
      - Assets
      - Hierarchy
      - EntityViews
    humanURL: https://thingsboard.io/docs/user-guide/assets/
    properties:
      - url: https://thingsboard.io/docs/user-guide/assets/
        type: Documentation
      - url: openapi/thingsboard-assets-openapi.yml
        type: OpenAPI
      - url: json-schema/thingsboard-asset-schema.json
        type: JSONSchema
      - url: json-schema/thingsboard-assetprofile-schema.json
        type: JSONSchema
      - url: json-schema/thingsboard-entityrelation-schema.json
        type: JSONSchema
    description: >-
      Logical/physical asset modelling with profiles, entity views, and typed entity relations for hierarchical IoT
      solutions (Buildings, Floors, Rooms, Machines). 41 endpoints.
  - aid: thingsboard:thingsboard-telemetry-api
    name: ThingsBoard Telemetry API
    tags:
      - IoT
      - Telemetry
      - TimeSeries
      - Attributes
      - CalculatedFields
    humanURL: https://thingsboard.io/docs/reference/rest-api/
    properties:
      - url: https://thingsboard.io/docs/user-guide/telemetry/
        type: Documentation
      - url: openapi/thingsboard-telemetry-openapi.yml
        type: OpenAPI
    description: >-
      Read and write device/asset time-series telemetry and key/value attributes (CLIENT/SERVER/SHARED scopes), run
      entity queries, and manage calculated fields. 26 endpoints.
  - aid: thingsboard:thingsboard-alarms-api
    name: ThingsBoard Alarms API
    tags:
      - IoT
      - Alarms
      - Operations
    humanURL: https://thingsboard.io/docs/user-guide/alarms/
    properties:
      - url: https://thingsboard.io/docs/user-guide/alarms/
        type: Documentation
      - url: openapi/thingsboard-alarms-openapi.yml
        type: OpenAPI
      - url: json-schema/thingsboard-alarm-schema.json
        type: JSONSchema
    description: >-
      Manage IoT alarms — list, acknowledge, clear, assign, and comment. Includes alarm queries and the alarm-comment
      thread. 15 endpoints.
  - aid: thingsboard:thingsboard-rule-engine-api
    name: ThingsBoard Rule Engine API
    tags:
      - IoT
      - RuleEngine
      - Automation
      - Workflow
    humanURL: https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/
    properties:
      - url: https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/
        type: Documentation
      - url: openapi/thingsboard-rule-engine-openapi.yml
        type: OpenAPI
      - url: json-schema/thingsboard-rulechain-schema.json
        type: JSONSchema
    description: >-
      Manage Rule Chains, Rule Nodes, and component descriptors that power ThingsBoard's drag-and-drop data-processing
      engine. 26 endpoints.
  - aid: thingsboard:thingsboard-rpc-api
    name: ThingsBoard RPC API
    tags:
      - IoT
      - RPC
      - DeviceControl
    humanURL: https://thingsboard.io/docs/user-guide/rpc/
    properties:
      - url: https://thingsboard.io/docs/user-guide/rpc/
        type: Documentation
      - url: openapi/thingsboard-rpc-openapi.yml
        type: OpenAPI
    description: >-
      One-way and two-way Remote Procedure Calls from server to device, with persistent RPC support (RPC v2). 6
      endpoints.
  - aid: thingsboard:thingsboard-dashboards-api
    name: ThingsBoard Dashboards API
    tags:
      - IoT
      - Dashboards
      - Visualization
      - Widgets
    humanURL: https://thingsboard.io/docs/user-guide/dashboards/
    properties:
      - url: https://thingsboard.io/docs/user-guide/dashboards/
        type: Documentation
      - url: openapi/thingsboard-dashboards-openapi.yml
        type: OpenAPI
      - url: json-schema/thingsboard-dashboard-schema.json
        type: JSONSchema
    description: >-
      Create and manage dashboards, widget bundles, widget types, image resources, and tenant resources that drive the
      ThingsBoard UI. Includes SCADA dashboards. 57 endpoints.
  - aid: thingsboard:thingsboard-auth-api
    name: ThingsBoard Authentication API
    tags:
      - IoT
      - Authentication
      - Security
      - OAuth2
      - 2FA
    humanURL: https://thingsboard.io/docs/reference/rest-api/
    properties:
      - url: https://thingsboard.io/docs/reference/rest-api/
        type: Documentation
      - url: openapi/thingsboard-auth-openapi.yml
        type: OpenAPI
    description: >-
      Login (JWT), refresh tokens, sign-up, API key management (since 4.3), 2FA, OAuth2 federation, and custom domain
      configuration. 46 endpoints.
  - aid: thingsboard:thingsboard-tenants-api
    name: ThingsBoard Tenants and Customers API
    tags:
      - IoT
      - Tenants
      - Customers
      - Users
      - MultiTenant
    humanURL: https://thingsboard.io/docs/user-guide/ui/customers/
    properties:
      - url: https://thingsboard.io/docs/user-guide/ui/customers/
        type: Documentation
      - url: openapi/thingsboard-tenants-openapi.yml
        type: OpenAPI
      - url: json-schema/thingsboard-tenant-schema.json
        type: JSONSchema
      - url: json-schema/thingsboard-customer-schema.json
        type: JSONSchema
      - url: json-schema/thingsboard-user-schema.json
        type: JSONSchema
    description: Manage tenants, tenant profiles, customers, and users — the multi-tenancy backbone of ThingsBoard. 38 endpoints.
  - aid: thingsboard:thingsboard-admin-api
    name: ThingsBoard Admin API
    tags:
      - IoT
      - Administration
      - AuditLog
      - Queue
      - Usage
    humanURL: https://thingsboard.io/docs/reference/rest-api/
    properties:
      - url: https://thingsboard.io/docs/reference/rest-api/
        type: Documentation
      - url: openapi/thingsboard-admin-openapi.yml
        type: OpenAPI
    description: >-
      System-administrator endpoints — admin settings, audit logs, events, usage info, queues and queue stats,
      mail-config templates, QR-code settings, and background jobs. 42 endpoints.
  - aid: thingsboard:thingsboard-notifications-api
    name: ThingsBoard Notifications API
    tags:
      - IoT
      - Notifications
      - Messaging
      - Email
      - Slack
    humanURL: https://thingsboard.io/docs/user-guide/notifications/
    properties:
      - url: https://thingsboard.io/docs/user-guide/notifications/
        type: Documentation
      - url: openapi/thingsboard-notifications-openapi.yml
        type: OpenAPI
    description: >-
      Manage notification requests, rules, templates, and targets across email, SMS, Slack, MS Teams, mobile push, and
      web delivery channels. 24 endpoints.
  - aid: thingsboard:thingsboard-edge-api
    name: ThingsBoard Edge API
    tags:
      - IoT
      - Edge
      - Sync
      - VersionControl
    humanURL: https://thingsboard.io/docs/edge/
    properties:
      - url: https://thingsboard.io/docs/edge/
        type: Documentation
      - url: openapi/thingsboard-edge-openapi.yml
        type: OpenAPI
    description: >-
      Manage ThingsBoard Edge instances — provisioning, synchronization, event tracking, and entity version control
      between edge and cloud. 32 endpoints.
  - aid: thingsboard:thingsboard-mobile-api
    name: ThingsBoard Mobile App API
    tags:
      - IoT
      - Mobile
      - AppCenter
    humanURL: https://thingsboard.io/docs/user-guide/mobile-app/
    properties:
      - url: https://thingsboard.io/docs/user-guide/mobile-app/
        type: Documentation
      - url: openapi/thingsboard-mobile-openapi.yml
        type: OpenAPI
    description: >-
      Manage mobile app configurations and mobile-app bundles used by the ThingsBoard mobile applications (Flutter). 9
      endpoints.
  - aid: thingsboard:thingsboard-lwm2m-api
    name: ThingsBoard LwM2M API
    tags:
      - IoT
      - LwM2M
      - Protocols
    humanURL: https://thingsboard.io/docs/user-guide/lwm2m/
    properties:
      - url: https://thingsboard.io/docs/user-guide/lwm2m/
        type: Documentation
      - url: openapi/thingsboard-lwm2m-openapi.yml
        type: OpenAPI
    description: LwM2M (Lightweight M2M) device-management endpoints for low-power devices over CoAP/DTLS. 2 endpoints.
  - aid: thingsboard:thingsboard-ai-api
    name: ThingsBoard AI API
    tags:
      - IoT
      - AI
      - PredictiveMaintenance
      - Trendz
    humanURL: https://thingsboard.io/products/trendz/
    properties:
      - url: https://thingsboard.io/products/trendz/
        type: Documentation
      - url: openapi/thingsboard-ai-openapi.yml
        type: OpenAPI
    description: >-
      AI model management and Trendz Analytics integration for forecasting, anomaly detection, and
      predictive-maintenance workflows over IoT telemetry. 4 endpoints.
common:
  - url: https://thingsboard.io
    type: Portal
  - url: https://thingsboard.io/docs/
    type: Documentation
  - url: https://thingsboard.io/docs/getting-started-guides/helloworld/
    type: GettingStarted
  - url: https://thingsboard.io/docs/reference/rest-api/
    name: REST API Reference
    type: Documentation
  - url: https://demo.thingsboard.io/v3/api-docs
    name: Live OpenAPI 3.1 Spec
    type: OpenAPI
  - url: https://demo.thingsboard.io/swagger-ui/index.html
    name: Swagger UI
    type: Documentation
  - url: https://thingsboard.io/pricing/
    name: Pricing
    type: Pricing
  - url: https://thingsboard.io/products/thingsboard/
    type: Portal
  - url: https://thingsboard.io/products/thingsboard-cloud/
    type: Portal
  - url: https://thingsboard.io/products/thingsboard-pe/
    type: Portal
  - url: https://thingsboard.io/products/thingsboard-edge/
    type: Portal
  - url: https://thingsboard.io/products/tbmq/
    type: Portal
  - url: https://thingsboard.io/products/trendz/
    type: Portal
  - url: https://thingsboard.io/products/iot-gateway/
    type: Portal
  - url: https://thingsboard.io/blog/
    type: Blog
  - url: https://thingsboard.io/docs/releases/release-policy/
    type: ReleasePolicy
  - url: https://thingsboard.io/docs/releases/releases-table/
    name: Releases Table
    type: ChangeLog
  - url: https://thingsboard.cloud/signup
    type: SignUp
  - url: https://demo.thingsboard.io/
    type: Sandbox
  - url: https://thingsboard.io/docs/contact-us/
    type: Support
  - url: https://github.com/thingsboard
    type: GitHubOrganization
  - url: https://github.com/thingsboard/thingsboard
    name: ThingsBoard core repo
    type: SourceCode
  - url: https://github.com/thingsboard/thingsboard-gateway
    name: ThingsBoard IoT Gateway
    type: Tool
  - url: https://github.com/thingsboard/thingsboard-edge
    name: ThingsBoard Edge
    type: Tool
  - url: https://github.com/thingsboard/tbmq
    name: TBMQ — distributed MQTT broker
    type: Tool
  - url: https://github.com/thingsboard/thingsboard-java-client
    name: Java REST client
    type: SDK
  - url: https://github.com/thingsboard/thingsboard-python-client
    name: Python REST client
    type: SDK
  - url: https://github.com/thingsboard/flutter_thingsboard_app
    name: Mobile app (Flutter)
    type: Tool
  - url: https://github.com/thingsboard/flutter_thingsboard_pe_app
    name: PE Mobile app (Flutter)
    type: Tool
  - url: https://github.com/thingsboard/ngx-flowchart
    name: ngx-flowchart (Angular)
    type: SDK
  - url: https://hub.docker.com/u/thingsboard
    name: Docker images
    type: Tool
  - url: https://stackoverflow.com/questions/tagged/thingsboard
    type: Forum
  - url: https://github.com/thingsboard/thingsboard/blob/master/LICENSE
    type: License
  - url: https://www.apache.org/licenses/LICENSE-2.0
    name: Apache 2.0
    type: License
  - url: plans/thingsboard-plans-pricing.yml
    type: Plans
  - url: rate-limits/thingsboard-rate-limits.yml
    type: RateLimits
  - url: finops/thingsboard-finops.yml
    type: FinOps
  - url: vocabulary/thingsboard-vocabulary.yml
    type: Vocabulary
  - url: rules/thingsboard-rules.yml
    type: SpectralRules
  - url: json-ld/thingsboard-context.jsonld
    type: JSONLD
  - type: Features
    data:
      - Open-source (Apache 2.0) IoT platform written in Java/Spring with a TypeScript/Angular UI
      - 409 REST endpoints across 59 controllers exposed via OpenAPI 3.1 (live spec at /v3/api-docs)
      - Device, asset, customer, tenant, and user management with multi-tenant isolation
      - Device connectivity over MQTT, HTTP, CoAP, LwM2M, and SNMP
      - Time-series telemetry storage with PostgreSQL, Cassandra, or TimescaleDB backends
      - Calculated fields — simple, script-based (TBEL), geofencing, and aggregation
      - Rule engine with drag-and-drop rule chains and rule nodes
      - 600+ customizable widgets, SCADA dashboards, and white-labelling
      - Alarm management with severity, status, acknowledgement, assignment, and comments
      - Remote Procedure Calls (one-way, two-way, and persistent v2)
      - OTA package delivery for firmware/software updates
      - Edge computing with the ThingsBoard Edge sidecar and bidirectional sync
      - TBMQ distributed MQTT broker (100M+ connections, 10M msg/sec)
      - IoT Gateway with adapters for Modbus, OPC-UA, BLE, BACnet, CAN, ODBC, REST, MQTT
      - Notification center with email, SMS, Slack, MS Teams, mobile push, and web delivery
      - JWT and API-key (4.3+) authentication, OAuth2 federation, two-factor auth
      - Mobile applications for Android and iOS built with Flutter
      - Trendz Analytics for forecasting and predictive maintenance (PE)
      - Java and Python REST client SDKs
      - Horizontal scalability via microservices architecture and Kafka/RabbitMQ queues
    sources:
      - https://thingsboard.io/
      - https://github.com/thingsboard/thingsboard
      - https://demo.thingsboard.io/v3/api-docs
      - https://thingsboard.io/docs/reference/rest-api/
      - https://thingsboard.io/pricing/
    updated: '2026-05-25'
maintainers:
  - FN: Kin Lane
    email: info@apievangelist.com
    X: apievangelist
    url: https://apievangelist.com
created: '2026-05-25'
modified: '2026-05-25'
position: Consuming
description: >-
  ThingsBoard is an open-source IoT platform for device connectivity, data collection, processing, and visualization.
  Licensed under Apache 2.0 and developed by ThingsBoard Inc., it supports multi-tenant device management, telemetry
  over MQTT/HTTP/CoAP/LwM2M/SNMP, a drag-and-drop rule engine, calculated fields, 600+ customizable dashboard widgets,
  alarms, RPC, OTA firmware updates, edge computing, mobile apps, and a distributed MQTT broker (TBMQ). Available as
  Community Edition (free, self-hosted), Professional Edition (self-hosted subscription), and ThingsBoard Cloud (managed
  PaaS).
specificationVersion: '0.16'