usage.limits() function

usage.limits() is experimental and subject to change at any time. By using this function, you accept the risks of experimental functions.

usage.limits() returns a record containing usage limits for an InfluxDB Cloud organization.

Example output record

    orgID: "123",
    rate: {
        readKBs: 1000,
        concurrentReadRequests: 0,
        writeKBs: 17,
        concurrentWriteRequests: 0,
        cardinality: 10000,
    bucket: {maxBuckets: 2, maxRetentionDuration: 2592000000000000},
    task: {maxTasks: 5},
    dashboard: {maxDashboards: 5},
    check: {maxChecks: 2},
    notificationRule: {maxNotifications: 2, blockedNotificationRules: "comma, delimited, list"},
    notificationEndpoint: {blockedNotificationEndpoints: "comma, delimited, list"},
Function type signature
(?host: string, ?orgID: string, ?token: string) => A
For more information, see Function type signatures.



InfluxDB Cloud region URL. Default is "".

(Required if executed outside of your InfluxDB Cloud organization or region).


InfluxDB Cloud organization ID. Default is "".

(Required if executed outside of your InfluxDB Cloud organization or region).


InfluxDB Cloud API token. Default is "".

(Required if executed outside of your InfluxDB Cloud organization or region).


Get rate limits for your InfluxDB Cloud organization

import "experimental/usage"


Get rate limits for a different InfluxDB Cloud organization

import "experimental/usage"
import "influxdata/influxdb/secrets"

token = secrets.get(key: "INFLUX_TOKEN")

usage.limits(host: "", orgID: "x000X0x0xx0X00x0", token: token)

Output organization limits in a table

import "array"
import "experimental/usage"

limits = usage.limits()

    rows: [
        {orgID: limits.orgID, limitGroup: "rate", limitName: "Read (kb/s)", limit: limits.rate.readKBs},
            orgID: limits.orgID,
            limitGroup: "rate",
            limitName: "Concurrent Read Requests",
            limit: limits.rate.concurrentReadRequests,
        {orgID: limits.orgID, limitGroup: "rate", limitName: "Write (kb/s)", limit: limits.rate.writeKBs},
            orgID: limits.orgID,
            limitGroup: "rate",
            limitName: "Concurrent Write Requests",
            limit: limits.rate.concurrentWriteRequests,
        {orgID: limits.orgID, limitGroup: "rate", limitName: "Cardinality", limit: limits.rate.cardinality},
        {orgID: limits.orgID, limitGroup: "bucket", limitName: "Max Buckets", limit: limits.bucket.maxBuckets},
            orgID: limits.orgID,
            limitGroup: "bucket",
            limitName: "Max Retention Period (ns)",
            limit: limits.bucket.maxRetentionDuration,
        {orgID: limits.orgID, limitGroup: "task", limitName: "Max Tasks", limit: limits.task.maxTasks},
            orgID: limits.orgID,
            limitGroup: "dashboard",
            limitName: "Max Dashboards",
            limit: limits.dashboard.maxDashboards,
        {orgID: limits.orgID, limitGroup: "check", limitName: "Max Checks", limit: limits.check.maxChecks},
            orgID: limits.orgID,
            limitGroup: "notificationRule",
            limitName: "Max Notification Rules",
            limit: limits.notificationRule.maxNotifications,

Output current cardinality with your cardinality limit

import "experimental/usage"
import "influxdata/influxdb"

limits = usage.limits()
bucketCardinality = (bucket) =>
    (influxdb.cardinality(bucket: bucket, start: time(v: 0))
        |> findColumn(fn: (key) => true, column: "_value"))[0]

    |> filter(fn: (r) => not =~ /^_/)
    |> map(fn: (r) => ({bucket:, Cardinality: bucketCardinality(bucket:}))
    |> sum(column: "Cardinality")
    |> map(fn: (r) => ({r with "Cardinality Limit": limits.rate.cardinality}))

Was this page helpful?

Thank you for your feedback!

Upgrade to InfluxDB Cloud or InfluxDB 2.0!

InfluxDB Cloud and InfluxDB OSS 2.0 ready for production.