--- title: Set up InfluxDB seotitle: Set up InfluxDB | Get started with InfluxDB Cloud list_title: Set up InfluxDB description: > Learn how to set up InfluxDB for the "Get started with InfluxDB" tutorial. menu: influxdb_cloud: name: Set up InfluxDB parent: Get started identifier: get-started-set-up weight: 101 metadata: [1 / 5] related: - /influxdb/cloud/reference/config-options/ - /influxdb/cloud/admin/tokens/ - /influxdb/cloud/organizations/buckets/ - /influxdb/cloud/tools/influx-cli/ - /influxdb/cloud/reference/api/ --- As you get started with this tutorial, do the following to make sure everything you need is in place. 1. {{< req text="(Optional)" color="magenta" >}} **Download, install, and configure the `influx` CLI**. The `influx` CLI provides a simple way to interact with InfluxDB from a command line. For detailed installation and setup instructions, see [Use the influx CLI](/influxdb/cloud/tools/influx-cli/). 2. **Create an All-Access API token.** 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 [cloud2.influxdata.com](https://cloud2.influxdata.com) 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/cloud/tools/influx-cli/). 2. Use the [`influx auth create` command](/influxdb/cloud/reference/cli/influx/auth/create/) to create an All-Access token. **Provide the following**: - `--all-access` flag - `--host` flag with your [InfluxDB region URL](/influxdb/cloud/reference/regions/) - `-o, --org` or `--org-id` flags with your InfluxDB organization name or [ID](/influxdb/cloud/admin/organizations/view-orgs/#view-your-organization-id) - `-t, --token` flag with your Operator token ```sh influx auth create \ --all-access \ --host http://cloud2.influxdata.com \ --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://cloud2.influxdata.com/api/v2/authorizations" method="post" api-ref="/influxdb/cloud/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/cloud/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/cloud/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/cloud/api/#operation/GetResources)._ The following example uses cURL and the InfluxDB API to generate an All-Access token: {{% truncate %}} ```sh export INFLUX_HOST=http://cloud2.influxdata.com 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 Cloud require your InfluxDB **host**, **organization name or ID**, and your **API token**. There are different methods for providing these credentials depending on which client you use to interact with InfluxDB. {{% note %}} When configuring your token, use the [All-Access token you created](#create-an-all-access-api-token). {{% /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. Use the [`influx config create` command](/influxdb/cloud/reference/cli/influx/config/create/) to create a new CLI connection configuration. Include the following flags: - `-n, --config-name`: Connection configuration name. This examples uses `get-started`. - `-u, --host-url`: [InfluxDB region URL](/influxdb/cloud/reference/regions/). - `-o, --org`: InfluxDB organization name. - `-t, --token`: InfluxDB API token. ```sh influx config create \ --config-name get-started \ --host-url http://cloud2.influxdata.com \ --org \ --token ``` _For more information about CLI connection configurations, see [Install and use the `influx` CLI](/influxdb/cloud/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 region URL](/influxdb/cloud/reference/urls/). - `INFLUX_ORG`: InfluxDB organization name. - `INFLUX_ORG_ID`: InfluxDB [organization ID](/influxdb/cloud/admin/organizations/view-orgs/#view-your-organization-id). - `INFLUX_TOKEN`: InfluxDB API token. ```sh export INFLUX_HOST=http://cloud2.influxdata.com export INFLUX_ORG= export INFLUX_ORG_ID= export INFLUX_TOKEN= ``` {{% /expand %}} {{% expand "Command flags" %}} Use the following `influx` CLI flags to provide required credentials to commands: - `--host`: [InfluxDB region URL](/influxdb/cloud/reference/regions/). - `-o`, `--org` or `--org-id`: InfluxDB organization name or [ID](/influxdb/cloud/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/cloud/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**: Your [InfluxDB Cloud region URL](/influxdb/cloud/reference/regions/). - **InfluxDB API Token**: Include an `Authorization` header that uses either `Bearer` or `Token` scheme and your InfluxDB API token. For example: `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. ```sh export INFLUX_HOST=http://cloud2.influxdata.com export INFLUX_ORG= export INFLUX_ORG_ID= export INFLUX_TOKEN= ``` {{% /tab-content %}} {{< /tabs-wrapper >}} 4. **Create a bucket**. 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 [cloud2.influxdata.com](https://cloud2.influxdata.com) 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/cloud/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/cloud/tools/influx-cli/). 2. Use the [`influx bucket create` command](/influxdb/cloud/reference/cli/influx/bucket/create/) to create a new 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://cloud2.influxdata.com/api/v2/buckets" method="post" api-ref="/influxdb/cloud/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. ```sh export INFLUX_HOST=http://cloud2.influxdata.com 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/cloud/get-started/" next="/influxdb/cloud/get-started/write/" keepTab=true >}}