---
title: Use the InfluxDB v1 HTTP query API and InfluxQL
description: Use the InfluxDB v1 HTTP query API to query data in InfluxDB Cloud Serverless with InfluxQL.
url: https://docs.influxdata.com/influxdb3/cloud-serverless/query-data/execute-queries/v1-http/
estimated_tokens: 3046
product: InfluxDB Cloud Serverless
version: cloud-serverless
---

# Use the InfluxDB v1 HTTP query API and InfluxQL

-   InfluxQL

Use the InfluxDB v1 HTTP API `/query` endpoint and InfluxQL to query data stored in InfluxDB Cloud Serverless and return results in JSON or CSV format. The `/query` endpoint provides compatibility for InfluxDB 1.x workloads that you bring to InfluxDB 3.

*Before you can use the v1 query API, [databases and retention policies must be mapped to buckets](/influxdb3/cloud-serverless/guides/api-compatibility/v1/#map-v1-databases-and-retention-policies-to-buckets).*

#### Flight queries don’t use DBRP mappings

When using Flight RPC or Flight SQL to query InfluxDB, specify the **bucket name**. Flight queries don’t use DBRP mappings. See how to [get started querying with Flight and SQL or InfluxQL](/influxdb3/cloud-serverless/get-started/query/).

-   [Query the v1 /query endpoint](#query-the-v1-query-endpoint)
    -   [Parameters](#parameters)
    -   [Authorization](#authorization)
    -   [Return results as JSON or CSV](#return-results-as-json-or-csv)
-   [Tools for querying the v1 API](#tools-for-querying-the-v1-api)
    -   [Interactive clients](#interactive-clients)
-   [Troubleshoot failures](#troubleshoot-failures)
    -   [Database not found](#database-not-found)
    -   [Quota and limit errors](#quota-and-limit-errors)

## Query the v1 /query endpoint

To query using HTTP and InfluxQL, send a `GET` or `POST` request to the v1 `/query` endpoint.

[GET https://cloud2.influxdata.com/query](/influxdb3/cloud-serverless/api/query-data/#operation/GetLegacyQuery)

### Parameters

For InfluxDB Cloud Serverless v1 API `/query` requests, set parameters as listed in the following table:

| Parameter | Allowed in | Ignored | Value |
| --- | --- | --- | --- |
| chunked | Query string | Honored | Returns points in streamed batches instead of in a single response. If set to true, InfluxDB chunks responses by series or by every 10,000 points, whichever occurs first. |
| chunked_size | Query string | Honored | Requires chunked to be set to true. If set to a specific value, InfluxDB chunks responses by series or by this number of points. |
| db | Query string | Honored | Database name mapped to a bucket |
| epoch | Query string | Honored | Timestamp precision |
| pretty | Query string | Ignored | N/A |
| rp | Query string | Honored | Retention policy mapped to a bucket |
| q | Query string | Honored | InfluxQL |
| Authorization header or u and p |  |  | Token |

When bringing v1 API workloads to InfluxDB Cloud Serverless, you’ll need to adjust request parameters in your client configuration or code.

#### Timestamp precision

Use one of the following values for timestamp precision (`epoch`):

-   `ns`: nanoseconds
-   `us`: microseconds
-   `ms`: milliseconds
-   `s`: seconds
-   `m`: minutes
-   `h`: hours

### Authorization

To authorize a query request, include a [token](/influxdb3/cloud-serverless/admin/tokens/) that has read permission for the bucket. Use [`Token` authentication](/influxdb3/cloud-serverless/guides/api-compatibility/v1/#authenticate-with-a-token-scheme) or v1-compatible [username and password authentication](/influxdb3/cloud-serverless/guides/api-compatibility/v1/#authenticate-with-a-username-and-password-scheme) to include a token in the request.

### Return results as JSON or CSV

By default, the `/query` endpoint returns results in **JSON** format.

To return results in CSV format, include the `Accept` header with the `application/csv` or `text/csv` MIME type–for example:

```sh
curl --get https://cloud2.influxdata.com/query \
  --header "Authorization: Token DATABASE_TOKEN" \
  --header "Accept: application/csv" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

## Tools for querying the v1 API

### Interactive clients

To test InfluxDB v1 API queries interactively from the command line, use common HTTP clients such as cURL and Postman.

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

**Token Auth:**

```sh
curl https://cloud2.influxdata.com/query \
  --header "Authorization: Token API_TOKEN" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

Replace the following:

-   `DATABASE_NAME`: the [database name mapped to the bucket](/influxdb3/cloud-serverless/guides/api-compatibility/v1/#map-v1-databases-and-retention-policies-to-buckets)
-   `API_TOKEN`: an [API token](/influxdb3/cloud-serverless/admin/tokens/) with *read* access to the specified database.

**Basic Auth:**

```sh
curl --get https://cloud2.influxdata.com/query \
  -user "":"API_TOKEN" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

**Query String Auth:**

```sh
curl --get https://cloud2.influxdata.com/query \
  --data-urlencode "u=ignored" \
  --data-urlencode "p=DATABASE_TOKEN" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

<!-- End tabbed content -->

## Troubleshoot failures

Troubleshoot problems and errors encountered when using the HTTP API to query InfluxDB Cloud Serverless.

### Database not found

If a DBRP doesn’t exist for the `db=DATABASE_NAME` and `rp=RETENTION_POLICY_NAME` combination in the query request, the response body contains an error message, for example `"database not found:..."`.

### Quota and limit errors

HTTP API `/query` requests are subject to [usage quotas and limits](/influxdb3/cloud-serverless/admin/billing/).

#### Related

-   [Use the InfluxDB v1 HTTP API](/influxdb3/cloud-serverless/guides/api-compatibility/v1/)
