---
title: Quick start
description: 'Authenticate, write, and query with the InfluxDB OSS v2 API: Create an API token with write and read permissions for a bucket. For new installations, set up InfluxDB and create the initial admin token during the onboarding process. Check the status of the InfluxDB server. curl "http://localhost:8086/health" Write data to a bucket using the /api/v2/write endpoint and line protocol. curl --request POST \ "http://localhost:8086/api/v2/write?org=ORG&bucket=BUCKET&precision=s" \ --header "Authorizati'
url: https://docs.influxdata.com/influxdb/v2/api/quick-start/
estimated_tokens: 491
product: InfluxDB OSS v2
version: v2
publisher: InfluxData
canonical: https://docs.influxdata.com/influxdb/v2/api/quick-start/
---

[Download InfluxDB API Spec](/openapi/influxdb-oss-v2-api.yml)

Authenticate, write, and query with the InfluxDB OSS v2 API:

1. Create an API token with write and read permissions for a bucket.
   For new installations, set up InfluxDB and create the initial admin
   token during the [onboarding process](/influxdb/v2/install/).

2. Check the status of the InfluxDB server.

   ```
   curl "http://localhost:8086/health"
   ```

3. Write data to a bucket using the `/api/v2/write` endpoint and[line protocol](/influxdb/v2/reference/syntax/line-protocol/).

   ```
   curl --request POST \
     "http://localhost:8086/api/v2/write?org=ORG&bucket=BUCKET&precision=s" \
     --header "Authorization: Token YOUR_API_TOKEN" \
     --header "Content-Type: text/plain; charset=utf-8" \
     --data-raw "home,room=Kitchen temp=72.0 1640995200
   home,room=Living\ Room temp=71.5 1640995200"
   ```

   If all data is written, the response is `204 No Content`.

4. Query data using the Flux `/api/v2/query` endpoint.

   ```
   curl --request POST \
     "http://localhost:8086/api/v2/query?org=ORG" \
     --header "Authorization: Token YOUR_API_TOKEN" \
     --header "Content-Type: application/vnd.flux" \
     --data 'from(bucket: "BUCKET") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "home")'
   ```

   Alternatively, query with InfluxQL using the v1-compatible `/query`endpoint. Target a v1 DBRP mapping (`database.retention_policy`) that
   points to your bucket:

   ```
   curl --get "http://localhost:8086/query" \
     --header "Authorization: Token YOUR_API_TOKEN" \
     --data-urlencode "db=DATABASE" \
     --data-urlencode "q=SELECT * FROM home WHERE time > now() - 1h"
   ```

For more information, see [Get started with InfluxDB OSS v2](/influxdb/v2/get-started/).

#### Related

* [Get started with InfluxDB OSS v2](/influxdb/v2/get-started/)
* [Write data](/influxdb/v2/write-data/)
* [Query data with Flux](/influxdb/v2/query-data/)
