---
title: Create a bucket
description: Create buckets to store time series data in InfluxDB Cloud using the InfluxDB UI, influx CLI, or InfluxDB HTTP API.
url: https://docs.influxdata.com/influxdb/cloud/admin/buckets/create-bucket/
estimated_tokens: 1346
product: InfluxDB Cloud (TSM)
version: cloud
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb/cloud/admin/buckets/create-bucket/
date: '2026-04-20T11:26:19-05:00'
lastmod: '2026-04-20T11:26:19-05:00'
---

Use the InfluxDB user interface (UI), the `influx` command line interface (CLI),
or the InfluxDB HTTP API to create a bucket.

By default, buckets have an `implicit` **schema-type** and a schema that conforms to your data.
To require measurements to have specific columns and data types and prevent non-conforming write requests,[create a bucket with the `explicit` schema-type](#create-a-bucket-that-enforces-explicit-schemas).

* [Create a bucket](#create-a-bucket)
* [Create a bucket that enforces explicit schemas](#create-a-bucket-that-enforces-explicit-schemas)
* [Bucket naming restrictions](#bucket-naming-restrictions)

#### InfluxDB UI ####

There are two places you can create a bucket in the UI.

* [Create a bucket from the Load Data menu](#create-a-bucket-from-the-load-data-menu)
* [Create a bucket in the Data Explorer](#create-a-bucket-in-the-data-explorer)

### Create a bucket from the Load Data menu

1. In the navigation menu on the left, select **Load Data** \> **Buckets**.

Load Data

1. Click  **Create Bucket** in the upper right.
2. Enter a **Name** for the bucket*(see [Bucket naming restrictions](#bucket-naming-restrictions))*.
3. Select when to **Delete Data**:
   * **Never** to retain data forever.
   * **Older than** to choose a specific retention period.

4. Click **Create** to create the bucket.

### Create a bucket in the Data Explorer

1. In the navigation menu on the left, select \**Explore* (**Data Explorer**).

Data Explorer

1. In the **From** panel in the Flux Builder, select `+ Create Bucket`.
2. Enter a **Name** for the bucket *(see [Bucket naming restrictions](#bucket-naming-restrictions))*.
3. Select when to **Delete Data**:
   * **Never** to retain data forever.
   * **Older than** to choose a specific retention period.

4. Click **Create** to create the bucket.

## Create a bucket using the influx CLI

To create a bucket with the `influx` CLI, use the [`influx bucket create` command](/influxdb/cloud/reference/cli/influx/bucket/create)and specify values for the following flags:

* `-o`, `--org`: Organization name
* `-n`, `--name`: Bucket name*(see [Bucket naming restrictions](#bucket-naming-restrictions))*
* `-r`, `--retention`: Retention period duration

The following example creates a bucket with a retention period of `72` hours:

```sh
influx bucket create \
  --name my-bucket \
  --org {INFLUX_ORG} \
  --retention 72h
```

To create a bucket with the InfluxDB HTTP API, send a request to the following endpoint:

```
POST https://cloud2.influxdata.com/api/v2/buckets
```

Include the following in your request:

* **Headers:**
  * **Authorization:** `Token` scheme with your InfluxDB [API token](/influxdb/cloud/admin/tokens/)
  * **Content-type:** `application/json`

* **Request body:** JSON object with the following fields:  
  \* Required
  * \* **name:** Bucket name
  * **orgID:** InfluxDB organization ID
  * **description:** Bucket description
  * \* **retentionRules:** JSON array containing a single object
    with the following fields:
    * **type:** expire
    * **everySecond**: Number of seconds to retain data *(0 means forever)*
    * **shardGroupDuration**: Number of seconds to retain shard groups *(0 means forever)*

The following example creates a bucket with a retention period of `86,400` seconds, or 24 hours:

```sh
INFLUX_TOKEN=YOUR_API_TOKEN
INFLUX_ORG_ID=YOUR_ORG_ID

curl --request POST \
  "http://localhost:8086/api/v2/buckets" \
  --header "Authorization: Token ${INFLUX_TOKEN}" \
  --header "Content-type: application/json" \
  --data '{
    "orgID": "'"${INFLUX_ORG_ID}"'",
    "name": "iot-center",
    "retentionRules": [
      {
        "type": "expire",
        "everySeconds": 86400,
        "shardGroupDurationSeconds": 0
      }
    ]
  }'
```

*For information about **InfluxDB API options and response codes**, see[InfluxDB API Buckets reference documentation](/influxdb3/cloud-serverless/api/buckets/#operation/PostBuckets).*

## Create a bucket that enforces explicit schemas

A bucket with the `explicit` schema-type enforces [measurement schemas that you define for the bucket](/influxdb/cloud/admin/organizations/buckets/bucket-schema/) and rejects writes that don’t conform to any of the schemas.

Use the **`influx` CLI** or **InfluxDB HTTP API** to create a bucket with the `explicit` schema-type.

#### influx CLI ####

Use the `influx bucket create` command and specify the `--schema-type=explicit` flag:

```sh
influx bucket create \
  --name my_schema_bucket \
  --schema-type explicit
```

Use the HTTP API [`/api/v2/buckets`](/influxdb/cloud/api/buckets/)endpoint and set the `schemaType` property value to `explicit` in the request body–for example:

```
POST https://cloud2.influxdata.com/api/v2/buckets
```

```js
{
  "orgID": "{INFLUX_ORG_ID}",
  "name": "my-explicit-bucket",
  "description": "My Explicit Bucket",
  "rp": "string",
  "retentionRules": [
    {
      "type": "expire",
      "everySeconds": 86400,
      "shardGroupDurationSeconds": 0
    }
  ],
  "schemaType": "explicit"
}
```

Next, see how to [create an explicit bucket schema](/influxdb/cloud/admin/organizations/buckets/bucket-schema/) for a measurement.

## Bucket naming restrictions

Bucket names must adhere to the following naming restrictions:

* Must contain two or more characters
* Cannot start with an underscore (`_`)
* Cannot contain a double quote (`"`)
