---
title: Set up InfluxDB
seotitle: Set up InfluxDB | Get started with InfluxDB
list_title: Set up InfluxDB
description: >
Learn how to set up InfluxDB for the "Get started with InfluxDB" tutorial.
menu:
influxdb_v2:
name: Set up InfluxDB
parent: Get started
identifier: get-started-set-up
weight: 101
metadata: [1 / 5]
related:
- /influxdb/v2/install/
- /influxdb/v2/reference/config-options/
- /influxdb/v2/admin/tokens/
- /influxdb/v2/admin/buckets/
- /influxdb/v2/tools/influx-cli/
- /influxdb/v2/reference/api/
---
As you get started with this tutorial, do the following to make sure everything
you need is in place.
- [Run the initial setup process](#run-initial-setup-process)
- [Create an All Access API token](#create-an-all-access-api-token)
- [Configure authentication credentials](#configure-authentication-credentials)
- [Create a bucket](#create-a-bucket)
1. **Run the initial setup process**.
After you [install and start InfluxDB](/influxdb/v2/install/), run the initial setup process to create the following:
- An [organization](/influxdb/v2/admin/organizations/) with the name you provide.
- A [bucket](/influxdb/v2/admin/buckets/) with the name you provide.
- An admin [authorization](/influxdb/v2/admin/tokens/) with the following properties:
- The username and password that you provide.
- An API [Operator token](/influxdb/v2/admin/tokens/#operator-token).
- Read-write permissions for all resources in the InfluxDB instance.
You can use the InfluxDB UI, the `influx` CLI, or the HTTP API to run the setup process.
- To run an interactive setup that prompts you for the required information,
use the InfluxDB user interface (UI) or the `influx` command line interface (CLI).
- To automate the setup--for example, with a script that you write--
use the `influx` command line interface (CLI) or the `/api/v2/setup` InfluxDB API endpoint.
{{% note %}}
#### Automated setup with Docker
If you installed InfluxDB using [Docker with initial setup options](/influxdb/v2/install/?t=docker/#install-and-setup-influxdb-in-a-container), then you've already completed the setup process.
{{% /note %}}
{{< tabs-wrapper >}}
{{% tabs %}}
[Set up with the UI](#)
[Set up with the CLI](#)
[Set up with the API](#)
{{% /tabs %}}
{{% tab-content %}}
1. With InfluxDB running, visit .
2. Click **Get Started**
#### Set up your initial user
1. Enter a **Username** for your initial user.
2. Enter a **Password** and **Confirm Password** for your user.
3. Enter your initial **Organization Name**.
4. Enter your initial **Bucket Name**.
5. Click **Continue**.
6. Copy the provided **operator API token** and store it for safe keeping.
{{% note %}}
We recommend using a password manager or a secret store to securely store
sensitive tokens.
{{% /note %}}
Your InfluxDB instance is now initialized.
{{% /tab-content %}}
{{% tab-content %}}
1. Download and install the `influx` CLI, which provides a simple way to interact with InfluxDB from a
command line.
For detailed installation and setup instructions,
see [Use the influx CLI](/influxdb/v2/tools/influx-cli/).
2. Use the `influx setup` CLI command to initialize your InfluxDB instance--choose one of the following:
- **Set up with prompts**.
To setup interactively, enter the following command:
```sh
influx setup
```
The command walks you through the initial setup process by prompting for a username, password, organization, bucket, and retention period.
- **Set up non-interactively**.
To run setup non-interactively (for example, in your automation scripts), pass [command line flags](/influxdb/v2/reference/cli/influx/setup/#flags) for the initialization values, and pass the `-f, --force` flag to bypass the final confirmation prompt--for example, enter the following command:
```sh
influx setup \
--username USERNAME \
--password PASSWORD \
--token TOKEN \
--org ORG_NAME \
--bucket BUCKET_NAME \
--force
```
Replace the following:
- `USERNAME`: A name for your initial admin [user](/influxdb/v2/admin/users/)
- `PASSWORD`: A password for your initial admin [user](/influxdb/v2/admin/users/)
- `TOKEN`: A string value to set for the [_operator_ token](/influxdb/v2/admin/tokens/#operator-token).
If you don't include this flag, InfluxDB generates a token for you and stores it in an
[`influx` CLI connection configuration](/influxdb/v2/tools/influx-cli/#provide-required-authentication-credentials).
- `ORG_NAME`: A name for your initial [organization](/influxdb/v2/admin/organizations/)
- `BUCKET_NAME`: A name for your initial [bucket](/influxdb/v2/admin/buckets/)
InfluxDB is initialized with an
[Operator token](/influxdb/v2/admin/tokens/#operator-token),
[user](/influxdb/v2/reference/glossary/#user),
[organization](/influxdb/v2/reference/glossary/#organization),
and [bucket](/influxdb/v2/reference/glossary/#bucket).
The output is similar to the following:
```sh
User Organization Bucket
USERNAME ORGANIZATION_NAME BUCKET_NAME
```
InfluxDB stores these values in a `default` connection configuration that provides your
InfluxDB URL, organization, and API token to `influx` CLI commands.
For information about connection configurations, see [`influx config`](/influxdb/v2/reference/cli/influx/config/).
{{% /tab-content %}}
{{% tab-content %}}
Send a request to the following HTTP API endpoint:
{{< api-endpoint endpoint="http://localhost:8086/api/v2/setup" method="post" api-ref="/influxdb/v2/api/#operation/PostAuthorizations" >}}
{{% warn %}}
The `POST /api/v2/setup` API endpoint doesn't require authentication
{{% /warn %}}
In the request body, specify values for the initial username, password, organization, bucket, and an optional Operator token--for example:
{{% code-placeholders "BUCKET_NAME|ORG_NAME|USERNAME|PASSWORD|TOKEN" %}}
```sh
curl http://localhost:8090/api/v2/setup \
--data '{
"username": "USERNAME",
"password": "PASSWORD",
"token": "TOKEN",
"bucket": "BUCKET_NAME",
"org": "ORG_NAME"
}'
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`USERNAME`{{% /code-placeholder-key %}}: A name for your initial admin [user](/influxdb/v2/admin/users/)
- {{% code-placeholder-key %}}`PASSWORD`{{% /code-placeholder-key %}}: A password for your initial admin [user](/influxdb/v2/admin/users/)
- {{% code-placeholder-key %}}`ORG_NAME`{{% /code-placeholder-key %}}: A name for your initial [organization](/influxdb/v2/admin/organizations/)
- {{% code-placeholder-key %}}`BUCKET_NAME`{{% /code-placeholder-key %}}: A name for your initial [bucket](/influxdb/v2/admin/buckets/)
- {{% code-placeholder-key %}}`TOKEN`{{% /code-placeholder-key %}}: A string value to set for the [_operator_ token](/influxdb/v2/admin/tokens/#operator-token).
If you don't include this flag, InfluxDB generates a token for you.
The response body contains the created resources, including the [Operator token](/influxdb/v2/admin/tokens/#operator-token) and its list of permissions.
{{% note %}}
We recommend using a password manager or a secret store to securely store
sensitive tokens.
{{% /note %}}
For more options and details, see the [`POST /api/v2/setup` API endpoint documentation](/influxdb/v2/api/#operation/PostSetup).
{{% /tab-content%}}
{{< /tabs-wrapper >}}
1. {{< req text="Recommended:" color="magenta" >}} **Create an All Access API token.**
During the [InfluxDB initial set up process](/influxdb/v2/install/#set-up-influxdb), you created an admin user and [Operator token](/influxdb/v2/admin/tokens/#operator-token)
that have permissions to manage everything in your InfluxDB instance.
While you can use your Operator token
to interact with InfluxDB, we recommend creating an [All Access token](/influxdb/v2/admin/tokens/#all-access-token) that
is scoped to an organization, and then using this token to manage InfluxDB.
Use the **InfluxDB UI**, **`influx` CLI**, or **InfluxDB API** to create an All Access token.
{{< tabs-wrapper >}}
{{% tabs %}}
[InfluxDB UI](#)
[influx CLI](#)
[InfluxDB API](#)
{{% /tabs %}}
{{% tab-content %}}
1. Visit
{{% oss-only %}}[localhost:8086](http://localhost:8086){{% /oss-only %}}
{{% cloud-only %}}[cloud2.influxdata.com](https://cloud2.influxdata.com){{% /cloud-only %}}
in a browser to log in and access the InfluxDB UI.
2. Navigate to **Load Data** > **API Tokens** using the left navigation bar.
3. Click **+ {{% caps %}}Generate API token{{% /caps %}}** and select
**All Access API Token**.
4. Enter a description for the API token and click **{{< icon "check" >}} {{% caps %}}Save{{% /caps %}}**.
5. Copy the generated token and store it for safe keeping.
{{% /tab-content %}}
{{% tab-content %}}
1. If you haven't already, [download, install, and configure the `influx` CLI](/influxdb/v2/tools/influx-cli/).
2. Use the [`influx auth create` command](/influxdb/v2/reference/cli/influx/auth/create/)
to create an All Access token.
Provide the following:
- `--all-access` flag
- `--host` flag with your [InfluxDB host URL](/influxdb/v2/reference/urls/)
- `-o, --org` or `--org-id` flags with your InfluxDB organization name or
[ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id)
- `-t, --token` flag with your Operator token
```sh
influx auth create \
--all-access \
--host http://localhost:8086 \
--org \
--token
```
3. Copy the generated token and store it for safe keeping.
{{% /tab-content %}}
{{% tab-content %}}
Send a request to the InfluxDB API `/api/v2/authorizations` endpoint using the `POST` request method.
{{< api-endpoint endpoint="http://localhost:8086/api/v2/authorizations" method="post" api-ref="/influxdb/v2/api/#operation/PostAuthorizations" >}}
Include the following with your request:
- **Headers**:
- **Authorization**: Token
- **Content-Type**: application/json
- **Request body**: JSON body with the following properties:
- **status**: `"active"`
- **description**: API token description
- **orgID**: [InfluxDB organization ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id)
- **permissions**: Array of objects where each object represents permissions
for an InfluxDB resource type or a specific resource. Each permission contains the following properties:
- **action**: "read" or "write"
- **resource**: JSON object that represents the InfluxDB resource to grant
permission to. Each resource contains at least the following properties:
- **orgID**: [InfluxDB organization ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id)
- **type**: Resource type.
_For information about what InfluxDB resource types exist, use the
[`/api/v2/resources` endpoint](/influxdb/v2/api/#operation/GetResources)._
The following example uses cURL and the InfluxDB API to generate an All Access token:
{{% truncate %}}
```sh
export INFLUX_HOST=http://localhost:8086
export INFLUX_ORG_ID=
export INFLUX_TOKEN=
curl --request POST \
"$INFLUX_HOST/api/v2/authorizations" \
--header "Authorization: Token $INFLUX_TOKEN" \
--header "Content-Type: text/plain; charset=utf-8" \
--data '{
"status": "active",
"description": "All access token for get started tutorial",
"orgID": "'"$INFLUX_ORG_ID"'",
"permissions": [
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "authorizations"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "authorizations"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "buckets"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "buckets"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "dashboards"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "dashboards"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "orgs"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "orgs"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "sources"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "sources"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "tasks"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "tasks"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "telegrafs"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "telegrafs"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "users"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "users"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "variables"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "variables"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "scrapers"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "scrapers"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "secrets"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "secrets"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "labels"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "labels"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "views"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "views"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "documents"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "documents"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "notificationRules"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "notificationRules"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "notificationEndpoints"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "notificationEndpoints"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "checks"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "checks"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "dbrp"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "dbrp"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "notebooks"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "notebooks"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "annotations"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "annotations"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "remotes"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "remotes"}},
{"action": "read", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "replications"}},
{"action": "write", "resource": {"orgID": "'"$INFLUX_ORG_ID"'", "type": "replications"}}
]
}
'
```
{{% /truncate %}}
The response body contains a JSON object with the following properties:
- **id**: API Token ID
- **token**: API Token ({{< req "Important" >}})
- **status**: Token status
- **description**: Token description
- **orgID**: InfluxDB organization ID the token is associated with
- **org**: InfluxDB organization name the token is associated with
- **userID**: User ID the token is associated with
- **user**: Username the token is associated with
- **permissions**: List of permissions for organization resources
**Copy the generated `token` and store it for safe keeping.**
{{% /tab-content %}}
{{< /tabs-wrapper >}}
{{% note %}}
We recommend using a password manager or a secret store to securely store
sensitive tokens.
{{% /note %}}
3. **Configure authentication credentials**.
As you go through this tutorial, interactions with InfluxDB {{< current-version >}}
require your InfluxDB **host**, **organization name or ID**, and your **API token**.
How you provide credentials depends on which client you use to interact with InfluxDB.
{{% note %}}
When configuring your token, if you [created an All Access token](#create-an-all-access-api-token),
use that token to interact with InfluxDB.
Otherwise, use the Operator token that you created during the setup process.
{{% /note %}}
{{< tabs-wrapper >}}
{{% tabs %}}
[InfluxDB UI](#)
[influx CLI](#)
[InfluxDB API](#)
{{% /tabs %}}
{{% tab-content %}}
When managing InfluxDB through the InfluxDB UI, authentication credentials are
provided automatically using credentials associated with the user you log in with.
{{% /tab-content %}}
{{% tab-content %}}
There are three ways to provided authentication credentials to the `influx` CLI:
{{< expand-wrapper >}}
{{% expand "CLI connection configurations (Recommended)" %}}
The `influx` CLI lets you specify connection configuration presets that let
you store and quickly switch between multiple sets of InfluxDB connection
credentials. A connection configuration stores your credentials to avoid having to pass your InfluxDB
API token with each `influx` command.
If you [set up InfluxDB](#set-up-influxdb) using the CLI, it creates a default
[connection configuration](/influxdb/v2/reference/cli/influx/config/) for you.
Use the [`influx config create` command](/influxdb/v2/reference/cli/influx/config/create/)
to manually create a new CLI connection configuration for the All Access token you created in the preceding step. Include the following flags:
{{% code-placeholders "API_TOKEN|ORG_NAME|http://localhost:8086|default|USERNAME|PASSWORD" %}}
```sh
influx config create \
--config-name get-started \
--host-url http://localhost:8086 \
--org ORG_NAME \
--token API_TOKEN
```
{{% /code-placeholders%}}
Replace the following:
- {{% code-placeholder-key %}}`get-started`{{% /code-placeholder-key %}}: Connection configuration name. Examples in this tutorial use `get-started`.
- {{% code-placeholder-key %}}`http://localhost:8086`{{% /code-placeholder-key %}}: [InfluxDB host URL](/influxdb/v2/reference/urls/).
- {{% code-placeholder-key %}}`ORG`{{% /code-placeholder-key %}}: [your organization name](/influxdb/v2/admin/organizations/view-orgs/).
- {{% code-placeholder-key %}}`API_TOKEN`{{% /code-placeholder-key %}}: [your API token](/influxdb/v2/admin/tokens/view-tokens/).
_For more information about `influx` CLI connection configurations, see
[Install and use the `influx` CLI](/influxdb/v2/tools/influx-cli/#set-up-the-influx-cli)._
{{% /expand %}}
{{% expand "Environment variables" %}}
The `influx` CLI checks for specific environment variables and, if present,
uses those environment variables to populate authentication credentials.
Set the following environment variables in your command line session:
- `INFLUX_HOST`: [InfluxDB host URL](/influxdb/v2/reference/urls/).
- `INFLUX_ORG`: InfluxDB organization name.
- `INFLUX_ORG_ID`: InfluxDB [organization ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id).
- `INFLUX_TOKEN`: InfluxDB API token.
{{% code-placeholders "<(ORG_NAME|ORG_ID|API_TOKEN)>" %}}
```sh
export INFLUX_HOST={{< influxdb/host >}}
export INFLUX_ORG=
export INFLUX_ORG_ID=
export INFLUX_TOKEN=
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}``{{% /code-placeholder-key %}}: The name of your [organization](/influxdb/v2/admin/organizations/)
- {{% code-placeholder-key %}}``{{% /code-placeholder-key %}}: Your [organization ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id)
- {{% code-placeholder-key %}}``{{% /code-placeholder-key %}}: Your [All Access token](#create-an-all-access-api-token) or operator [token](/influxdb/v2/admin/tokens/)
{{% /expand %}}
{{% expand "Command line flags" %}}
Use the following `influx` CLI flags to provide required credentials to commands:
- `--host`: [InfluxDB host URL](/influxdb/v2/reference/urls/).
- `-o`, `--org` or `--org-id`: InfluxDB organization name or
[ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id).
- `-t`, `--token`: InfluxDB API token.
{{% /expand %}}
{{< /expand-wrapper >}}
{{% note %}}
All `influx` CLI examples in this getting started tutorial assume your InfluxDB
**host**, **organization**, and **token** are provided by either the
[active `influx` CLI configuration](/influxdb/v2/reference/cli/influx/#provide-required-authentication-credentials)
or by environment variables.
{{% /note %}}
{{% /tab-content %}}
{{% tab-content %}}
When using the InfluxDB API, provide the required connection credentials in the
following ways:
- **InfluxDB host**: The domain and port to send HTTP(S) requests to.
- **InfluxDB API Token**: Include an `Authorization` header that uses either the
`Bearer` or `Token` scheme and your InfluxDB [API token](/influxdb/v2/admin/tokens/)--for example:
```http
Authorization: Bearer 0xxx0o0XxXxx00Xxxx000xXXxoo0==
```
- **InfluxDB organization name or ID**: Depending on the API endpoint used, pass
this as part of the URL path, query string, or in the request body.
All API examples in this tutorial use **cURL** from a command line.
To provide all the necessary credentials to the example cURL commands, set
the following environment variables in your command line session.
{{% code-placeholders "<(ORG_NAME|ORG_ID|API_TOKEN)>" %}}
```sh
export INFLUX_HOST=http://localhost:8086
export INFLUX_ORG=
export INFLUX_ORG_ID=
export INFLUX_TOKEN=
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}``{{% /code-placeholder-key %}}: The name of your [organization](/influxdb/v2/admin/organizations/)
- {{% code-placeholder-key %}}``{{% /code-placeholder-key %}}: Your [organization ID](/influxdb/v2/admin/organizations/view-orgs/#view-your-organization-id)
- {{% code-placeholder-key %}}``{{% /code-placeholder-key %}}: Your [All Access token](#create-an-all-access-api-token) or Operator token
{{% /tab-content %}}
{{< /tabs-wrapper >}}
1. {{< req text="Optional:" color="magenta" >}} **Create a bucket**.
In the [initial setup process](#run-initial-setup-process), you created a bucket.
You can use that bucket or create one specifically for this getting
started tutorial. All examples in this tutorial assume a bucket named
_get-started_.
Use the **InfluxDB UI**, **`influx` CLI**, or **InfluxDB API** to create a
new bucket.
{{< tabs-wrapper >}}
{{% tabs %}}
[InfluxDB UI](#)
[influx CLI](#)
[InfluxDB API](#)
{{% /tabs %}}
{{% tab-content %}}
1. Visit
{{% oss-only %}}[localhost:8086](http://localhost:8086){{% /oss-only %}}
{{% cloud-only %}}[cloud2.influxdata.com](https://cloud2.influxdata.com){{% /cloud-only %}}
in a browser to log in and access the InfluxDB UI.
2. Navigate to **Load Data** > **Buckets** using the left navigation bar.
3. Click **+ {{< caps >}}Create bucket{{< /caps >}}**.
4. Provide a bucket name (get-started) and select {{% caps %}}Never{{% /caps %}}
to create a bucket with an infinite [retention period](/influxdb/v2/reference/glossary/#retention-period).
5. Click **{{< caps >}}Create{{< /caps >}}**.
{{% /tab-content %}}
{{% tab-content %}}
1. If you haven't already, [download, install, and configure the `influx` CLI](/influxdb/v2/tools/influx-cli/).
2. Use the [`influx bucket create` command](/influxdb/v2/reference/cli/influx/bucket/create/) to create a bucket.
**Provide the following**:
- `-n, --name` flag with the bucket name.
- [Connection and authentication credentials](#configure-authentication-credentials)
```sh
influx bucket create --name get-started
```
{{% /tab-content %}}
{{% tab-content %}}
To create a bucket using the InfluxDB HTTP API, send a request to
the InfluxDB API `/api/v2/buckets` endpoint using the `POST` request method.
{{< api-endpoint endpoint="http://localhost:8086/api/v2/buckets" method="post" api-ref="/influxdb/v2/api/#operation/PostBuckets">}}
Include the following with your request:
- **Headers**:
- **Authorization**: Token `INFLUX_TOKEN`
- **Content-Type**: `application/json`
- **Request body**: JSON object with the following properties:
- **org**: InfluxDB organization name
- **name**: Bucket name
- **retentionRules**: List of retention rule objects that define the bucket's retention period.
Each retention rule object has the following properties:
- **type**: `"expire"`
- **everySeconds**: Retention period duration in seconds.
`0` indicates the retention period is infinite.
The following example shows how to use cURL and the InfluxDB API to create a bucket:
```sh
export INFLUX_HOST=http://localhost:8086
export INFLUX_ORG_ID=
export INFLUX_TOKEN=
curl --request POST \
"$INFLUX_HOST/api/v2/buckets" \
--header "Authorization: Token $INFLUX_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"orgID": "'"$INFLUX_ORG_ID"'",
"name": "get-started",
"retentionRules": [
{
"type": "expire",
"everySeconds": 0
}
]
}'
```
{{% /tab-content %}}
{{< /tabs-wrapper >}}
{{< page-nav prev="/influxdb/v2/get-started/" next="/influxdb/v2/get-started/write/" keepTab=true >}}