Documentation

Manage API tokens

This page documents an earlier version of InfluxDB OSS. InfluxDB 3 Core is the latest stable version.

API token hashing is enabled by default in InfluxDB OSS 2.9.0

Stronger token security: tokens are stored as hashes on disk, so a copy of the database file doesn’t expose usable tokens. Existing tokens are hashed on first startup and the original strings can’t be recovered afterward — capture any plaintext tokens you still need before you upgrade.

For more information, see Token hashing.

InfluxDB API tokens ensure secure interaction between InfluxDB and external tools such as clients or applications. An API token belongs to a specific user and identifies InfluxDB permissions within the user’s organization.

Learn how to create, view, update, or delete an API token.

API token types

Operator token

Grants full read and write access to all organizations and all organization resources in InfluxDB OSS 2.x. Some operations–for example, retrieving the server configuration–require operator permissions.

Initial operator token

When you first initialize InfluxDB, the setup process creates an initial user, org, bucket, and an Operator token with full read/write access to all organizations. When running setup, you can either:

  • Supply the token value yourself (influx setup --token flag or the setup API token field), or
  • Let InfluxDB auto-generate it. InfluxDB stores the generated token in the active influx CLI config so the CLI can use it later.

Creating operator tokens after setup

To create an operator token manually with the InfluxDB UI, api/v2 API, or influx CLI after the setup process is completed, you must use an existing Operator token.

To create a new Operator token without using an existing one, see how to use the influxd recovery auth CLI.

Because Operator tokens have full read and write access to all organizations in the database, we recommend creating an All Access token for each organization and using those to manage InfluxDB. This helps to prevent accidental interactions across organizations.

All Access token

Grants full read and write access to all resources in an organization.

Read/Write token

Grants read access, write access, or both to specific buckets in an organization.

Token hashing

InfluxDB can store API tokens as hashes on disk. Hashed storage protects tokens at rest: a copy of the underlying database file doesn’t expose usable tokens.

InfluxDB versionToken hashing default
2.9.0 and laterEnabled by default
2.8.0–2.8.xAvailable, disabled by default
2.7 and earlierNot supported

How token hashing works

When influxd starts with token hashing enabled:

  1. Existing unhashed tokens are migrated to hashed form.
  2. After migration, the original token strings cannot be retrieved.
  3. New tokens created while hashing is enabled are stored as hashes.

Hashed tokens continue to authenticate exactly like unhashed tokens — clients and integrations that already store their token in plaintext continue to work.

If you disable token hashing later, tokens that have already been hashed on disk remain hashed. New tokens created while hashing is disabled are stored unhashed.

Before upgrading to 2.9.0

Capture plaintext tokens before you upgrade

Once influxd 2.9.0 starts with the default settings, all existing tokens are hashed and the original strings cannot be recovered. Capture any tokens you still need in plaintext before the first 2.9.0 startup — including the operator token, which is required when restoring a backup with influx restore --full.

Backup and restore

A backup taken from an instance with token hashing enabled does not contain a plaintext operator token. To restore that backup with influx restore --full, supply the operator token via the --operator-token <token> flag (influx-cli v2.8.0+). Without that flag, the CLI cannot authenticate post-restore requests.

Disable token hashing

To opt out of the default — for example, to preserve compatibility with a possible downgrade to InfluxDB 2.7 or earlier — start influxd with the use-hashed-tokens option set to false:

influxd --use-hashed-tokens=false

Or set the environment variable or configuration file equivalent:

export INFLUXD_USE_HASHED_TOKENS=false
use-hashed-tokens: false

Downgrade considerations

Downgrading to InfluxDB 2.7 or earlier after token hashing has run on a database erases all stored tokens as part of the schema downgrade. If you may need to downgrade, start influxd 2.9.0 with --use-hashed-tokens=false so that token hashing never runs on the database.

If token hashing is never enabled, downgrading from 2.9.0 to 2.8.x or 2.7.x is supported. Downgrading directly to a version earlier than 2.7 is not recommended.

Replace a lost token

Because hashing prevents recovery of the original token string, replace lost tokens by creating a new token. To replace a lost operator token without an existing one, use influxd recovery auth.


Was this page helpful?

Thank you for your feedback!


InfluxDB OSS 2.9.0: API tokens are hashed by default

Stronger token security in InfluxDB OSS 2.9.0 — tokens are hashed on disk by default. Existing tokens are hashed on first startup and can’t be recovered afterward. Capture any plaintext tokens you still need before you upgrade.

View InfluxDB OSS 2.9.0 release notes

Hashed tokens authenticate exactly like unhashed tokens — clients and integrations keep working.

Also new in 2.9.0:

  • Configurable backup compression
  • Restore support for backups containing hashed tokens
  • Tighter Edge Data Replication queue validation
  • Flux upgrade
  • Compaction reliability improvements

Key enhancements in Explorer 1.8

Explorer 1.8 is now available with streaming data subscriptions (beta), line protocol preview, and query history & saved queries.

View Explorer 1.8 release notes

Explorer 1.8 includes new features and improvements that make it easier to ingest, explore, and manage data.

Highlights:

  • Streaming data subscriptions (beta): Stream data into Explorer from MQTT, Kafka, and AMQP sources.
  • Line protocol preview: Preview line protocol, schema, and parse errors before data is written.
  • Custom sample data: Generate custom sample datasets with line protocol and schema preview.
  • Query history and saved queries: Browse query history and save/re-run named queries.
  • Retention period management: Set, update, or clear retention periods on databases and tables.

For more details, see Explorer 1.8 release notes

InfluxDB 3.9: Performance upgrade preview

InfluxDB 3 Enterprise 3.9 includes a beta of major performance upgrades with faster single-series queries, wide-and-sparse table support, and more.

InfluxDB 3 Enterprise 3.9 includes a beta of major performance and feature updates.

Key improvements:

  • Faster single-series queries
  • Consistent resource usage
  • Wide-and-sparse table support
  • Automatic distinct value caches for reduced latency with metadata queries

Preview features are subject to breaking changes.

For more information, see:

Telegraf Enterprise now in public beta

Get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

See the Blog Post

The upcoming Telegraf Enterprise offering is for organizations running Telegraf at scale and is comprised of two key components:

  • Telegraf Controller: A control plane (UI + API) that centralizes Telegraf configuration management and agent health visibility.
  • Telegraf Enterprise Support: Official support for Telegraf Controller and Telegraf plugins.

Join the Telegraf Enterprise beta to get early access to the Telegraf Controller and provide feedback to help shape the future of Telegraf Enterprise.

For more information:

Telegraf Controller v0.0.7-beta now available

Telegraf Controller v0.0.7-beta is now available with new features, improvements, bug fixes, and an important breaking change.

View the release notes
Download Telegraf Controller v0.0.7-beta

InfluxDB Docker latest tag changing to InfluxDB 3 Core

On May 27, 2026, the latest tag for InfluxDB Docker images will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments.

If using Docker to install and run InfluxDB, the latest tag will point to InfluxDB 3 Core. To avoid unexpected upgrades, use specific version tags in your Docker deployments. For example, if using Docker to run InfluxDB v2, replace the latest version tag with a specific version tag in your Docker pull command–for example:

docker pull influxdb:2