ThingsBoard Private Cloud subscription plans definition
ThingsBoard Private Cloud provides subscription plans based on the pay-as-you-go model. Main characteristics of the subscription plan are the number of connected devices and amount of messages they produce. However, to keep the environment safe, certain Entity, API and Rate limits apply.
Additional features
Section titled “Additional features”| Feature | Launch | Growth | Scale | Enterprise |
|---|---|---|---|---|
| Data & configuration migration | ✓ | ✓ | ✓ | ✓ |
| Automatic backups | ✓ | ✓ | ✓ | ✓ |
| 24/7 monitoring | ✓ | ✓ | ✓ | ✓ |
| Support | ✓ | ✓ | ✓ | ✓ |
| Custom data retention policies | ✓ | ✓ | ✓ | ✓ |
| Geo-region deployment choice | ✓ | ✓ | ✓ | ✓ |
| Maintenance window picking | ✓ | ✓ | ✓ | ✓ |
| Database | SQL + NoSQL | SQL + NoSQL | SQL + NoSQL | SQL + NoSQL |
| Multi-AZ database replication | ✓ | ✓ | ✓ | ✓ |
| High availability services | ✓ | ✓ | ||
| Architecture reviews and consults | Upon request | Upon request | Upon request | ✓ |
Entity limits
Section titled “Entity limits”| Parameter | Launch | Growth | Scale | Description |
|---|---|---|---|---|
| Devices | 5,000 | 25,000 | 50,000 | Maximum number of devices |
| Assets | 5,000 | 25,000 | 50,000 | Maximum number of assets |
| Customers | 5,000 | 25,000 | 50,000 | Maximum number of customers |
| Users | 5,000 | 25,000 | 50,000 | Maximum number of users |
| Dashboards | 1,000 | 5,000 | 10,000 | Maximum number of dashboards |
| Scheduler Events | 1,000 | 5,000 | 10,000 | Maximum number of scheduler events |
| Integrations | 30 | 50 | 100 | Maximum number of integrations |
| Converters | 100 | 200 | 400 | Maximum number of converters |
| Rule Chains | 50 | 100 | 150 | Maximum number of rule chains |
API limits
Section titled “API limits”Monthly API limits unless stated otherwise.
| Parameter | Launch | Growth | Scale | Description |
|---|---|---|---|---|
| Transport messages | 2.5B | 5B | 25B | Total messages received by any transport (MQTT, HTTP, CoAP, etc.) or integration |
| Transport data points | 2.5B | 5B | 25B | Total key-value pairs in telemetry or attribute transport messages |
| Rule Engine executions | 25B | 50B | 250B | Total rule node executions. A single telemetry message may cause multiple executions. Periodic messages from Generator nodes are also counted. |
| TBEL executions | 25B | 50B | 250B | Total executions of user-defined TBEL functions (like Script filter/transformation nodes, data converters, etc.) |
| JavaScript executions | 500M | 1B | 5B | Total executions of user-defined JS functions (like Script filter/transformation nodes, data converters, etc.) |
| Default storage TTL | 365 days | 365 days | 365 days | How many days to store telemetry. Configurable upon request. |
| Default alarms TTL | 365 days | 365 days | 365 days | How many days to store alarms. Configurable upon request. |
| Default RPC TTL | 1 week | 1 week | 1 week | How many days to store persistent RPC. Configurable upon request. |
| Default notifications TTL | 1 week | 1 week | 1 week | How many days to store notifications. Configurable upon request. |
| Default debug event TTL | 1 week | 1 week | 1 week | How many days to store debug events. Configurable upon request. |
| New alarms per month | 50K | 75K | 100K | Total alarms created per month |
| Rule Engine executions per message | 20 | 20 | 20 | Maximum rule node executions to process a single message |
| Calculated fields per entity | 5 | 5 | 5 | Number of calculated fields per entity |
| Arguments per calculated field | 10 | 10 | 10 | Maximum arguments in a calculated field |
| Data points in rolling argument | 1,000 | 1,000 | 1,000 | Maximum data points stored in a calculated field’s rolling argument |
K = 1 thousand, M = 1 million, B = 1 billion.
Rate limits
Section titled “Rate limits”| Parameter | Launch | Growth | Scale | Description |
|---|---|---|---|---|
| All messages | 2K/s, 50K/min, 2.4M/h | 10K/s, 125K/min, 6M/h | 20K/s, 600K/min, 30M/h | Total messages received by any transport or integration for all devices |
| All data points | 2K/s, 50K/min, 2.4M/h | 10K/s, 125K/min, 6M/h | 20K/s, 600K/min, 30M/h | Total data points received by any transport or integration for all devices |
| Messages per device | 200/s, 6K/min, 20K/h | 200/s, 6K/min, 20K/h | 200/s, 6K/min, 20K/h | Messages per device via any transport or integration |
| Data points per device | 200/s, 6K/min, 20K/h | 200/s, 6K/min, 20K/h | 200/s, 6K/min, 20K/h | Data points per device via any transport or integration |
| All REST requests | 100/s, 2,000/min | 100/s, 3,000/min | 100/s, 4,000/min | Total REST API calls from all users |
| REST requests per customer | 50/s, 1,000/min | 50/s, 1,000/min | 50/s, 1,000/min | REST API calls from users belonging to a particular customer |
| WebSocket updates per session | 1K/s, 10K/min | 1K/s, 10K/min | 1K/s, 10K/min | Messages per WebSocket session |
| WebSocket sessions | 1K | 5K | 10K | Maximum concurrent WebSocket sessions |
| WebSocket subscriptions | 10K | 50K | 100K | Maximum active subscriptions across all WebSocket sessions |
| WebSocket sessions per customer | 500 | 500 | 500 | Maximum active WebSocket sessions per customer |
| WebSocket subscriptions per customer | 5K | 5K | 5K | Maximum WebSocket subscriptions per customer |
| WebSocket sessions per user | 100 | 100 | 100 | Maximum WebSocket sessions per user |
| WebSocket subscriptions per user | 1K | 1K | 1K | Maximum WebSocket subscriptions per user |
| WebSocket queue size per session | 500 | 500 | 500 | Maximum size of in-transit messages queue per session |
| Telemetry queries | 20K/10s, 60K/min | 20K/10s, 60K/min | 20K/10s, 60K/min | Total telemetry queries from WebSocket sessions or REST API calls |
Per source IP limits (HTTP traffic)
Section titled “Per source IP limits (HTTP traffic)”A platform-wide limit is enforced at the load balancer layer per source IP address. It applies to HTTP traffic — REST API, WebSocket, and Web UI — on all Private Cloud plans. MQTT, CoAP, LwM2M, and SNMP transports bypass this limit.
| Window | Steady-state | Burst capacity |
|---|---|---|
| Per second | 50 req/s | +100 req |
| Per minute | 500 req/min | +1,000 req |
Both windows apply — whichever fires first returns HTTP 429. The limit is keyed on the client source IP, not the tenant. If your REST or WebSocket traffic is concentrated behind a single proxy or NAT egress IP, you may hit this gateway-level limit before reaching your plan’s tenant-level REST limit.