---
title: Update a database token
description: Use the Admin UI, the influxctl token update command, or the Management HTTP API to update a database token’s permissions in your InfluxDB Cloud Dedicated cluster.
url: https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/tokens/database/update/
estimated_tokens: 3414
product: InfluxDB 3 Cloud
version: cloud
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb3/cloud-dedicated/admin/tokens/database/update/
date: '2026-05-15T15:46:14-06:00'
lastmod: '2026-05-15T15:46:14-06:00'
---

Use the Admin UI, the [`influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/),
or the [Management HTTP API](/influxdb3/cloud-dedicated/api/management/)to update a database token’s permissions InfluxDB Cloud Dedicated cluster.

[Admin UI](#admin-ui)[influxctl](#influxctl)[Management API](#management-api)

The InfluxDB Cloud Dedicated administrative UI includes a portal for creating
and managing database tokens.

Through this portal, administrators can edit a token’s permissions to:

* Add read and write permissions for specific databases
* Edit a token’s existing read and write permissions for a database

### Open the Edit Database Token dialog

Access the InfluxDB Cloud Dedicated Admin UI at [console.influxdata.com](https://console.influxdata.com).
If you don’t have login credentials, [contact InfluxData support](https://support.influxdata.com).

The Database Tokens portal displays the [list of database tokens](/influxdb3/cloud-dedicated/admin/tokens/database/list/) associated with the cluster.
Use the sort and filter options above the list to find a specific token.

1. Click the **Options** button (three vertical dots) to the right of the token you want to edit.

   <img src="/img/influxdb3/cloud-dedicated-admin-ui-database-token-options-menu.png" alt="Database token option menu" width="490">
2. Click **Edit Token** in the dropdown menu. The **Edit Database Token** dialog displays.

   <img alt="Edit Database Token dialog" width="564" src="/img/influxdb3/cloud-dedicated-admin-ui-edit-database-token.png">
3. In the **Edit Database Token** dialog, you can edit the token’s **Description** and permissions.

### Edit token permissions

1. [Open the Edit Database Token dialog](#open-the-edit-database-token-dialog) for the database token.

   The **Edit Database Token** dialog displays the token’s existing permissions.
   Each permission consists of:

   * A database (specific database name or **All Databases**)
   * Action permissions (Read and Write)

2. To change which database a permission applies to, click the **Database** dropdown and select a different database or **All Databases**.

3. To adjust the access level of the permission, use the **Read** and **Write** buttons under **Actions** to toggle these permissions on or off for the selected database.

### Add token permissions

1. [Open the Edit Database Token dialog](#open-the-edit-database-token-dialog) for the database token.
2. In the dialog, click **Add Permission**.
3. For the new permission, select a database from the dropdown.
4. Toggle the **Read** and **Write** buttons to set the access level.

Use the [`influxctl token update` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/)to update a database token’s permissions in your InfluxDB Cloud Dedicated cluster.

1. If you haven’t already, [download and install the `influxctl` CLI](/influxdb3/cloud-dedicated/reference/cli/influxctl/#download-and-install-influxctl), and then [configure an `influxctl` connection profile](/influxdb3/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles) for your cluster.

2. To list token IDs, run the [`influxctl token list` command](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/list) in your terminal.

   ```
   influxctl token list
   ```

   Copy the **token ID** of the token you want to update.

3. In your terminal, run the `influxctl token update` command and provide the following:

   * Token permissions (read and write)

     * `--read-database`: Grants read permissions to the specified database. Repeatable.
     * `--write-database`: Grants write permissions to the specified database. Repeatable.

     Both of these flags support the `*` wildcard which grants read or write
     permissions to all databases. Enclose wildcards in single or double
     quotes–for example: `'*'` or `"*"`.

   * the token ID

```sh
influxctl token update \
  --description "my updated test token" \
  --read-database DATABASE_NAME \
  --write-database DATABASE_NAME \
  TOKEN_ID
```

Replace the following:

* `DATABASE_NAME`: your InfluxDB Cloud Dedicated [database](/influxdb3/cloud-dedicated/admin/databases/)- `TOKEN ID`: ID of the token to update

*This example uses [cURL](https://curl.se/) to send a Management HTTP API request, but you can use any HTTP client.*

1. If you haven’t already, follow the instructions to [install cURL](https://everything.curl.dev/install/index.html) for your system.

2. In your terminal, use cURL to send a request to the following InfluxDB Cloud Dedicated endpoint:

   ```
   PATCH https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID
   ```

   In the URL, provide the following:

   * `ACCOUNT_ID`: The ID of the [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that the cluster belongs to *(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))*.
   * `CLUSTER_ID`: The ID of the [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) that you want to manage *(see how to [list cluster details](/influxdb3/cloud-dedicated/admin/clusters/list/#detailed-output-in-json))*.
   * `TOKEN_ID`: The ID of the database [token](/influxdb3/cloud-dedicated/admin/tokens/database) that you want to update *(see how to [list token details](/influxdb3/cloud-dedicated/admin/tokens/database/list/#detailed-output-in-json))*.

   Provide the following request headers:

   * `Accept: application/json` to ensure the response body is JSON content
   * `Content-Type: application/json` to indicate the request body is JSON content
   * `Authorization: Bearer` and a [Management API token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your cluster *(see how to [create a management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for Management API requests)*.

   In the request body, provide the following parameters:

   * `permissions`: an array of token [permissions](/influxdb3/cloud-dedicated/api/database-tokens/#operation/CreateDatabaseToken) (read or write) objects:
     * `"action"`: Specify `read` or `write` permission to the database.
     * `"resource"`: Specify the database name.

   * `description`: Provide a description of the token.

The following example shows how to use the Management API to update a token’s permissions:

```sh
curl \
   --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \
   --request PATCH \
   --header "Accept: application/json" \
   --header 'Content-Type: application/json' \
   --header "Authorization: Bearer MANAGEMENT_TOKEN" \
   --data '{
             "description": "my updated test token",
              "permissions": [
                {
                  "action": "read",
                  "resource": "DATABASE_NAME"
                },
                {
                  "action": "write",
                  "resource": "DATABASE_NAME"
                }
              ]
           }'
```

Replace the following in your request:

* `ACCOUNT_ID`: the ID of the InfluxDB Cloud Dedicated [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database token for
* `CLUSTER_ID`: the ID of the InfluxDB Cloud Dedicated [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database token for
* `MANAGEMENT TOKEN`: a [management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your InfluxDB Cloud Dedicated cluster
* `DATABASE_NAME`: a InfluxDB Cloud Dedicated [database](/influxdb3/cloud-dedicated/admin/databases/) that the token will have read or write permission to

> [!Note]
> #### Existing permissions are replaced on update
>
> When updating token permissions, the existing permissions are replaced by the
> new permissions specified in the update command.
> To retain existing permissions, include them in the update command.

### Examples

* [Update a token with read and write access to a database](#update-a-token-with-read-and-write-access-to-a-database)
* [Update a token with read and write access to all databases](#update-a-token-with-read-and-write-access-to-all-databases)
* [Update a token with read-only access to a database](#update-a-token-with-read-only-access-to-a-database)
* [Update a token with read-only access to multiple databases](#update-a-token-with-read-only-access-to-multiple-databases)
* [Update a token with mixed permissions to multiple databases](#update-a-token-with-mixed-permissions-to-multiple-databases)

In the examples below, replace the following:

* `DATABASE_NAME`: your InfluxDB Cloud Dedicated database
* `DATABASE2_NAME`: your InfluxDB Cloud Dedicated database
* `TOKEN ID`: ID of the token to update
* `ACCOUNT_ID`: the ID of the InfluxDB Cloud Dedicated [account](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database token for
* `CLUSTER_ID`: the ID of the InfluxDB Cloud Dedicated [cluster](/influxdb3/cloud-dedicated/get-started/setup/#request-an-influxdb-cloud-dedicated-cluster) to create the database token for
* `MANAGEMENT TOKEN`: a [management token](/influxdb3/cloud-dedicated/admin/tokens/management/) for your InfluxDB Cloud Dedicated cluster

#### Update a token for read and write access to a database

[influxctl](#influxctl-2)[Management API](#management-api-2)

```sh
influxctl token update \
  --description "Read/write to DATABASE_NAME" \
  --read-database DATABASE_NAME \
  --write-database DATABASE_NAME \
  TOKEN_ID
```

```sh
curl \
   --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \
   --request PATCH \
   --header "Accept: application/json" \
   --header 'Content-Type: application/json' \
   --header "Authorization: Bearer MANAGEMENT_TOKEN" \
   --data '{
     "description": "Read/write to DATABASE_NAME",
     "permissions": [
       {
         "action": "read",
         "resource": "DATABASE_NAME"
       },
       {
         "action": "write",
         "resource": "DATABASE_NAME"
       }
      ]
   }'
```

#### Update a token with read and write access to all databases

[influxctl](#influxctl-3)[Management API](#management-api-3)

```sh
influxctl token update \
  --read-database "*" \
  --write-database "*" \
  TOKEN_ID
```

```sh
curl \
   --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \
   --request PATCH \
   --header "Accept: application/json" \
   --header 'Content-Type: application/json' \
   --header "Authorization: Bearer MANAGEMENT_TOKEN" \
   --data '{
     "permissions": [
       {
         "action": "read",
         "resource": "*"
       },
       {
         "action": "write",
         "resource": "*"
       }
      ]
   }'
```

#### Update a token for read-only access to a database

[influxctl](#influxctl-4)[Management API](#management-api-4)

```sh
influxctl token update \
  --read-database DATABASE_NAME \
  TOKEN_ID
```

```sh
curl \
   --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \
   --request PATCH \
   --header "Accept: application/json" \
   --header 'Content-Type: application/json' \
   --header "Authorization: Bearer MANAGEMENT_TOKEN" \
   --data '{
     "description": "Read-only token for DATABASE_NAME",
     "permissions": [
       {
         "action": "read",
         "resource": "DATABASE_NAME"
       }
     ]
     }'
```

#### Update a token to provide read-only access to multiple databases

[influxctl](#influxctl-5)[Management API](#management-api-5)

```sh
influxctl token update \
  --description "Read-only token for DATABASE_NAME and DATABASE2_NAME" \
  --read-database DATABASE_NAME \
  --read-database DATABASE2_NAME \
  TOKEN_ID
```

```sh
curl \
   --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \
   --request PATCH \
   --header "Accept: application/json" \
   --header 'Content-Type: application/json' \
   --header "Authorization: Bearer MANAGEMENT_TOKEN" \
   --data '{
     "description": "Read-only token for DATABASE_NAME and DATABASE2_NAME",
     "permissions": [
       {
         "action": "read",
         "resource": "DATABASE_NAME"
       },
       {
         "action": "read",
         "resource": "DATABASE2_NAME"
       }
     ]
    }'
```

#### Update a token to provide mixed permissions to multiple databases

[influxctl](#influxctl-6)[Management API](#management-api-6)

```sh
influxctl token update \
  --read-database DATABASE_NAME \
  --read-database DATABASE2_NAME \
  --write-database DATABASE2_NAME \
  TOKEN_ID
```

```sh
curl \
   --location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/tokens/TOKEN_ID" \
   --request PATCH \
   --header "Accept: application/json" \
   --header 'Content-Type: application/json' \
   --header "Authorization: Bearer MANAGEMENT_TOKEN" \
   --data '{
     "description": "Read-only on DATABASE_NAME, read/write on DATABASE2_NAME",
     "permissions": [
       {
         "action": "read",
         "resource": "DATABASE_NAME"
       },
       {
         "action": "read",
         "resource": "DATABASE2_NAME"
       },
       {
         "action": "write",
         "resource": "DATABASE2_NAME"
       },
     ]
   }'
```

#### Related

* [influxctl token update](/influxdb3/cloud-dedicated/reference/cli/influxctl/token/update/)
