Skip to content
Stand with Ukraine flag

Tenant Profiles

A Tenant profile defines the resource limits, quotas, and operational behavior applied to tenants in ThingsBoard. It provides resource isolation across tenants, allowing System administrators to enforce fair resource usage, maintain predictable performance, and prevent overload in multi-tenant deployments.


  1. From the sidebar, navigate to Tenant profiles.
  2. Click + Add tenant profile ⇾ Create new tenant profile.
  3. Enter the Name of the profile.
  4. Configure the required limits in the profile configuration section.
  5. Click Add.

The new profile appears in the Tenant profiles list and is available for assignment to tenants.

  1. Navigate to Tenant profiles.
  2. Click the profile name to open its details.
  3. Click the Edit (pencil) button.
  4. Update configuration parameters as needed.
  5. Click Apply changes.

Changes take effect immediately for all tenants assigned to this profile.

In the Tenant profiles list, you can mark a profile as the default. The default profile is automatically assigned to newly created tenants unless another profile is explicitly selected.

  1. From the sidebar, navigate to Tenant profiles.
  2. Click + Add tenant profile ⇾ Import tenant profile.
  3. Upload the profile configuration file.
  4. Click Import.
  1. Click the trash icon next to the profile name.
  2. Confirm deletion.

All configuration parameters are available in the details section of the tenant profile.

Defines the maximum number of entities a tenant can create:

  • Devices maximum number
  • Dashboards maximum number
  • Assets maximum number
  • Users maximum number
  • Integrations maximum number
  • Scheduler events maximum number
  • Reports maximum number

A value of 0 means unlimited.

Defines high-level API and processing limits:

  • Rule Engine executions maximum number
  • Transport messages maximum number

These limits control the total number of processed messages and Rule Engine executions per tenant. When a limit is reached, message processing is restricted.

A value of 0 means unlimited.

Defines limits for calculated fields:

  • Calculated fields per entity maximum number
  • Arguments per calculated field maximum number
  • Max data points number in rolling arguments

A value of 0 means unlimited (except where a specific default value is defined).

Defines data retention policies in days:

  • Data points storage days maximum number
  • Alarms TTL days
  • Storage TTL days by default
  • RPC TTL days
  • Queue stats TTL days
  • Rule Engine exceptions TTL days
  • Blob entity TTL days
  • Report TTL days

A value of 0 means unlimited retention. See Configure Telemetry TTL for a step-by-step guide.

Defines notification and alarm quotas:

  • SMS enabled (toggle)
  • Emails sent maximum number
  • Alarms created maximum number

A value of 0 means unlimited. These limits prevent excessive notification generation and alarm flooding.

  • Maximum debug duration (minutes) — limits the duration of debug sessions for the tenant.

Defines file storage limits:

  • Maximum total size of resource files (bytes)
  • Maximum total size of OTA package files (bytes)
  • Maximum resource file size (bytes)

A value of 0 means unlimited. File limits prevent excessive storage consumption by a single tenant.

Defines WebSocket session and subscription limits:

  • Sessions per tenant maximum number
  • Subscriptions per tenant maximum number
  • Sessions per customer maximum number
  • Subscriptions per customer maximum number

A value of 0 means unlimited.

Controls transport throughput using the following rate limiting parameters:

  • Transport tenant messages
  • Transport device messages
  • Transport tenant telemetry messages
  • Transport device telemetry messages
  • Transport gateway messages
  • Transport gateway device messages
  • Transport gateway telemetry messages
  • Transport gateway device telemetry messages

If not configured, rate limiting is not applied. Rate limits protect platform stability and ensure predictable performance during peak load.

The profile includes an option to enable isolated Rule Engine queues.

When enabled:

  • Each tenant uses dedicated Rule Engine queues.
  • Message processing is isolated from other tenants.
  • Performance and fault isolation are improved.

Isolated queues can be combined with dedicated Rule Engine instances for enhanced scalability and resource separation.


System administrators assign a tenant profile when creating or editing a tenant:

  1. From the sidebar, navigate to Tenants.
  2. Open the tenant details or click + Add tenant to create a new one.
  3. In the Tenant profile field, select the desired profile.
  4. Save or apply changes.

Once assigned, the profile’s limits and policies take effect immediately.