---
title: Databases
description: Create and manage databases in an InfluxDB 3 Cloud Dedicated cluster, including setting retention periods and custom partition templates.
url: https://docs.influxdata.com/influxdb3/cloud-dedicated/api/management-api/databases/
estimated_tokens: 15099
product: InfluxDB Cloud Dedicated
version: cloud-dedicated
---

[Download Cloud Dedicated Management API Spec](/openapi/influxdb-cloud-dedicated-management-api.yml)

Create and manage databases in an InfluxDB 3 Cloud Dedicated cluster, including setting retention periods and custom partition templates.

GET `/accounts/{accountId}/clusters/{clusterId}/databases`

### Get all databases for a cluster

#### Parameters

##### Path parameters

`accountId` required string

The ID of the account to get the databases for

`clusterId` required string

The ID of the cluster to get the databases for

Example request [Ask AI about this](#)

```sh
curl --request GET \
  "https://console.influxdata.com/api/v0/accounts/{accountId}/clusters/{clusterId}/databases" \
  --header "Authorization: Bearer INFLUX_TOKEN"
```

#### Responses

200 The cluster databases were successfully retrieved

400 Bad Request

`code` required integer

`message` required string

401 Unauthorized

`code` required integer

`message` required string

403 Forbidden

`code` required integer

`message` required string

404 Not Found

`code` required integer

`message` required string

500 Internal Server Error

`code` required integer

`message` required string

POST `/accounts/{accountId}/clusters/{clusterId}/databases`

### Create a database

Create a database for a cluster.

The database name must be unique within the cluster.

**Default maximum number of columns**: 250 **Default maximum number of tables**: 500

The retention period is specified in nanoseconds. For example, to set a retention period of 1 hour, use `3600000000000`.

InfluxDB Cloud Dedicated lets you define a custom partitioning strategy for each database and table. A *partition* is a logical grouping of data stored in Apache Parquet. By default, data is partitioned by day, but, depending on your schema and workload, customizing the partitioning strategy can improve query performance.

To use custom partitioning, you define a partition template. If a table doesn’t have a custom partition template, it inherits the database’s template. The partition template is set at the time of database creation and cannot be changed later.

#### Parameters

##### Path parameters

`accountId` required string

The ID of the account to create the database for

`clusterId` required string

The ID of the cluster to create the database for

#### Request body required

Content-Type: `application/json`

`maxColumnsPerTable` string

`maxTables` string

`name` required string

`partitionTemplate` string

`retentionPeriod` string

Example request [Ask AI about this](#)

```sh
curl --request POST \
  "https://console.influxdata.com/api/v0/accounts/{accountId}/clusters/{clusterId}/databases" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "maxColumnsPerTable": 200,
  "maxTables": 500,
  "name": "NAME",
  "partitionTemplate": [],
  "retentionPeriod": 0
}'
```

#### Responses

200 The cluster database was successfully created

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`maxColumnsPerTable` required string

`maxTables` required string

`name` required string

`partitionTemplate` string

`retentionPeriod` required string

400 Bad Request

`code` required integer

`message` required string

401 Unauthorized

`code` required integer

`message` required string

403 Forbidden

`code` required integer

`message` required string

404 Not Found

`code` required integer

`message` required string

409 Conflict

`code` required integer

`message` required string

500 Internal Server Error

`code` required integer

`message` required string

PUT `/accounts/{accountId}/clusters/{clusterId}/databases/{databaseId}/undelete`

### Undelete a database

Restores a previously deleted database.

This operation can only be performed on databases that have been soft-deleted and are still within the recovery window.

#### Parameters

##### Path parameters

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`databaseId` required string

The ID of the database to undelete

Example request [Ask AI about this](#)

```sh
curl --request PUT \
  "https://console.influxdata.com/api/v0/accounts/{accountId}/clusters/{clusterId}/databases/{databaseId}/undelete" \
  --header "Authorization: Bearer INFLUX_TOKEN"
```

#### Responses

200 The cluster database was successfully undeleted

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`id` required string

The ID of the database

`maxColumnsPerTable` required string

`maxTables` required string

`name` required string

`partitionTemplate` string

`retentionPeriod` string

400 Bad Request

`code` required integer

`message` required string

401 Unauthorized

`code` required integer

`message` required string

403 Forbidden

`code` required integer

`message` required string

404 Not Found

`code` required integer

`message` required string

500 Internal Server Error

`code` required integer

`message` required string

PATCH `/accounts/{accountId}/clusters/{clusterId}/databases/{databaseName}`

### Update a database

#### Parameters

##### Path parameters

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`databaseName` required string

The name of the database to update

#### Request body required

Content-Type: `application/json`

`maxColumnsPerTable` string

`maxTables` string

`retentionPeriod` string

Example request [Ask AI about this](#)

```sh
curl --request PATCH \
  "https://console.influxdata.com/api/v0/accounts/{accountId}/clusters/{clusterId}/databases/{databaseName}" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "maxColumnsPerTable": 200,
  "maxTables": 500,
  "retentionPeriod": 0
}'
```

#### Responses

200 The cluster database was successfully updated.

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`maxColumnsPerTable` required string

`maxTables` required string

`name` required string

`retentionPeriod` required string

400 Bad Request

`code` required integer

`message` required string

401 Unauthorized

`code` required integer

`message` required string

403 Forbidden

`code` required integer

`message` required string

404 Not Found

`code` required integer

`message` required string

500 Internal Server Error

`code` required integer

`message` required string

DELETE `/accounts/{accountId}/clusters/{clusterId}/databases/{databaseName}`

### Delete a database

#### Parameters

##### Path parameters

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`databaseName` required string

The name of the database to delete

Example request [Ask AI about this](#)

```sh
curl --request DELETE \
  "https://console.influxdata.com/api/v0/accounts/{accountId}/clusters/{clusterId}/databases/{databaseName}" \
  --header "Authorization: Bearer INFLUX_TOKEN"
```

#### Responses

204 No Content

400 Bad Request

`code` required integer

`message` required string

401 Unauthorized

`code` required integer

`message` required string

403 Forbidden

`code` required integer

`message` required string

404 Not Found

`code` required integer

`message` required string

500 Internal Server Error

`code` required integer

`message` required string

PUT `/accounts/{accountId}/clusters/{clusterId}/databases/{databaseName}/rename`

### Rename a database

Renames an existing database.

This operation can only be performed on databases that are currently active.

#### Parameters

##### Path parameters

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`databaseName` required string

The name of the database to rename

#### Request body required

Content-Type: `application/json`

`name` required string

Example request [Ask AI about this](#)

```sh
curl --request PUT \
  "https://console.influxdata.com/api/v0/accounts/{accountId}/clusters/{clusterId}/databases/{databaseName}/rename" \
  --header "Authorization: Bearer INFLUX_TOKEN" \
  --header "Content-Type: application/json" \
  --data-raw '{
  "name": "NAME"
}'
```

#### Responses

200 The cluster database was successfully renamed

`accountId` required string

The ID of the account that the database belongs to

`clusterId` required string

The ID of the cluster that the database belongs to

`id` required string

The ID of the database

`maxColumnsPerTable` required string

`maxTables` required string

`name` required string

`partitionTemplate` string

`retentionPeriod` string

400 Bad Request

`code` required integer

`message` required string

401 Unauthorized

`code` required integer

`message` required string

403 Forbidden

`code` required integer

`message` required string

404 Not Found

`code` required integer

`message` required string

409 Conflict

`code` required integer

`message` required string

500 Internal Server Error

`code` required integer

`message` required string

#### Related

-   [Manage databases](/influxdb3/cloud-dedicated/admin/databases/)
-   [Custom partitions](/influxdb3/cloud-dedicated/admin/custom-partitions/)
-   [Partition templates](/influxdb3/cloud-dedicated/admin/custom-partitions/partition-templates/)
-   [InfluxDB 3 API client libraries](/influxdb3/cloud-dedicated/reference/client-libraries/v3/)
