---
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: 1129
product: InfluxDB OSS v2
version: v2
---

[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.
    
    ```bash
    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/).
    
    ```bash
    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.
    
    ```bash
    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:
    
    ```bash
    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/)
