Rotating the InfluxDB 3 Core operator admin token replaces the _admin credential that can administer the whole server. Use it after exposure, staff changes, or scheduled secret rotation when the current operator token should stop authenticating.
The influxdb3 create token --admin --regenerate command requires the current operator token and asks for confirmation before returning the replacement token string. InfluxDB 3 Core stores only the hash and metadata, so the raw replacement token must go directly into a secret manager or private session.
Regeneration applies only to the operator admin token. Named admin tokens are rotated by creating a replacement named token and deleting the old named token after clients move, so confirm the token row is _admin before using the regeneration flow.
$ export INFLUXDB3_AUTH_TOKEN='apiv3_0OLDTOKEN'
Use the real current operator token in a private shell. Do not paste raw admin tokens into shared transcripts, tickets, screenshots, or committed scripts.
$ export INFLUXDB3_HOST_URL=http://localhost:8181
Skip this when the CLI should use the default local listener at http://127.0.0.1:8181.
$ influxdb3 show tokens +----------+--------+-----------+-------------------------+-------------+---------------------+------------+---------------------+--------+-------------+ | token_id | name | hash | created_at | description | created_by_token_id | updated_at | updated_by_token_id | expiry | permissions | +----------+--------+-----------+-------------------------+-------------+---------------------+------------+---------------------+--------+-------------+ | 0 | _admin | 72fbe1ca8 | 2026-06-20T04:09:44.504 | | | | | | *:*:* | +----------+--------+-----------+-------------------------+-------------+---------------------+------------+---------------------+--------+-------------+
The _admin row is the operator token. Do not use --regenerate for named admin tokens.
$ influxdb3 create token --admin --regenerate --format json
Are you sure you want to regenerate admin token? Enter 'yes' to confirm
yes
{
"help_msg": "Store this token securely, as it will not be shown again. HTTP requests require the following header: \"Authorization: Bearer apiv3_0NEWTOKEN\"",
"token": "apiv3_0NEWTOKEN"
}
The previous operator token stops authenticating as soon as regeneration completes. Copy the real token value to the secret store before closing the terminal.
Update systemd environment files, container secrets, CI variables, scripts, and application secret stores that used the old operator token. Restart or redeploy clients that cache environment variables at process start.
$ export INFLUXDB3_AUTH_TOKEN='apiv3_0NEWTOKEN'
$ influxdb3 show tokens +----------+--------+-----------+-------------------------+-------------+---------------------+-------------------------+---------------------+--------+-------------+ | token_id | name | hash | created_at | description | created_by_token_id | updated_at | updated_by_token_id | expiry | permissions | +----------+--------+-----------+-------------------------+-------------+---------------------+-------------------------+---------------------+--------+-------------+ | 0 | _admin | 772df52db | 2026-06-20T04:09:44.504 | | | 2026-06-20T04:09:44.659 | 0 | | *:*:* | +----------+--------+-----------+-------------------------+-------------+---------------------+-------------------------+---------------------+--------+-------------+
The changed hash and populated updated_at value show that the operator token metadata was updated. The raw token string is not shown again.
$ INFLUXDB3_AUTH_TOKEN='apiv3_0OLDTOKEN' influxdb3 show tokens
Show command failed: server responded with error [401 Unauthorized]: {"error": "the request was not authenticated"}