---
title: API Quick Start
description: Interact with InfluxDB Cloud using a rich API for writing and querying data and more.
url: https://docs.influxdata.com/influxdb/cloud/api-guide/api_intro/
estimated_tokens: 3317
product: InfluxDB Cloud (TSM)
version: cloud
---

# API Quick Start

InfluxDB offers a rich API and [client libraries](/influxdb/cloud/api-guide/client-libraries) ready to integrate with your application. Use popular tools like Curl and [Postman](/influxdb/cloud/api-guide/postman) for rapidly testing API requests.

This section guides you through the most commonly used API methods.

For detailed documentation on the entire API, see the [InfluxDB v2 API Reference](/influxdb/cloud/api/).

#### Use InfluxDB 1.x API clients with Cloud

If you need to use InfluxDB Cloud with **InfluxDB 1.x** API clients and integrations, see the [1.x compatibility guide](/influxdb/cloud/reference/api/influxdb-1x/).

## Bootstrap your application

With most API requests, you’ll need to provide a minimum of your InfluxDB URL and [Authorization Token (API Token)](/influxdb/cloud/admin/tokens/).

[Install InfluxDB OSS v2.x](/influxdb/v2/install/) or upgrade to an [InfluxDB Cloud account](/influxdb/cloud/sign-up).

### Authentication

InfluxDB uses [API tokens](/influxdb/cloud/admin/tokens/) to authorize API requests. InfluxDB filters API requests and response data based on the permissions associated with the token.

1. Before exploring the API, use the `influx` CLI or the InfluxDB UI to [create an initial API token](/influxdb/cloud/admin/tokens/create-token/) for your application.
    
2. Include your API token in an `Authorization: Token API_TOKEN` HTTP header with each request–for example:
    

<!-- Tabbed content: Select one of the following options -->

**curl:**

```bash
# Use a token to authorize a GET request to the InfluxDB API.
# List buckets in your organization that the token can read.
curl -X GET "http://cloud2.influxdata.com/api/v2/buckets" \
  --header 'Accept: application/json' \
  --header 'Authorization: Token API_TOKEN'
```

**Node.js:**

```js
/**
  * Use a token to authorize a GET request to the InfluxDB API.
  * List buckets in your organization that the token can read.
  */

const https = require('https');

function listBuckets() {

  const options = {
    host: 'cloud2.influxdata.com',
    path: "/api/v2/buckets",
    headers: {
      'Authorization': 'Token API_TOKEN',
      'Content-type': 'application/json'
    },
  };

  const request = https.get(options, (response) => {
    let rawData = '';
    response.on('data', () => {
      response.on('data', (chunk) => { rawData += chunk; });
    })
    response.on('end', () => {
      console.log(rawData);
    })
  });

  request.end();
}
```

<!-- End tabbed content -->

Postman is another popular tool for exploring APIs. See how to [send authenticated requests with Postman](/influxdb/cloud/tools/postman/#send-authenticated-api-requests-with-postman).

## Buckets API

Before writing data you’ll need to create a bucket in your InfluxDB instance. To use the API to create a bucket, send a request to the following endpoint:

[POST /api/v2/buckets](/influxdb/cloud/api/buckets/#operation/PostBuckets)

```bash
curl --request POST \
  "http://localhost:8086/api/v2/buckets" \
  --header "Authorization: Token API_TOKEN" \
  --json '{
    "orgID": "'"ORG_ID"'",
    "name": "BUCKET_NAME",
    "retentionRules": [
      {
        "type": "expire",
        "everySeconds": RETENTION_PERIOD_SECONDS,
        "shardGroupDurationSeconds": 0
      }
    ]
  }'
```

Replace the following placeholders with your values:

-   `API_TOKEN` - your [token](/influxdb/cloud/admin/tokens/).
-   `ORG_ID` - the ID of the [organization](/influxdb/cloud/admin/organizations/) that owns the bucket.
-   `BUCKET_NAME` - the name of the [bucket](/influxdb/cloud/admin/buckets/) to create.
-   Optional: `RETENTION_PERIOD_SECONDS` - the [retention period](/influxdb/cloud/reference/glossary/#retention-period) (in number of seconds) to retain data in the bucket. Default is `0` (infinite retention).
    -   For example, `31536000` (1 year) or `604800` (7 days).

For more information, see [Create a bucket](/influxdb/cloud/admin/buckets/create-bucket/#create-a-bucket-using-the-influxdb-api).

## Write API

[Write data to InfluxDB](/influxdb/cloud/write-data/developer-tools/api/) using an HTTP request to the InfluxDB API `/api/v2/write` endpoint.

## Query API

[Query from InfluxDB](/influxdb/cloud/query-data/execute-queries/influx-api/) using an HTTP request to the `/api/v2/query` endpoint.

[api](/influxdb/cloud/tags/api/)
