content/shared/influxdb-v2/write-data/delete-data.md
Use the influx CLI or the InfluxDB API
/api/v2/delete endpoint to delete
data from an InfluxDB bucket.
InfluxDB {{< current-version >}} supports deleting data by the following:
_measurement)_field){{% /show-in %}}{{% show-in "v2" %}}
{{% warn %}}
InfluxDB {{< current-version >}} does not support deleting data by field. {{% /warn %}}
{{% /show-in %}}
{{% show-in "cloud,cloud-serverless" %}}
In InfluxDB Cloud, writes and deletes are asynchronous and eventually consistent.
Once InfluxDB validates your request and queues the delete,
it sends a success response (HTTP 204 status code) as an acknowledgement.
To ensure that InfluxDB handles writes and deletes in the order you request them, wait for the acknowledgement before you send the next request.
Once InfluxDB executes a queued delete, the deleted data is no longer queryable,
but will remain on disk until the compaction service runs.
{{% /show-in %}}
{{% show-in "v2" %}}
Once a delete request completes successfully, the deleted data is no longer queryable, but will remain on disk until the compaction service runs.
{{% /show-in %}}
{{% note %}} Use InfluxDB CLI connection configurations to provide your InfluxDB host, organization, and API token. {{% /note %}}
Use the influx delete command to delete points from InfluxDB.
Use the --bucket flag to specify which bucket to delete data from.
Use the --start and --stop flags to define the time range to delete data from.
Use RFC3339 timestamps.
(Optional) Use the -p, --predicate flag to include a delete predicate
that identifies which points to delete.
{{% warn %}}
Deleting data without a delete predicate
deletes all data in the specified bucket with timestamps between the specified start and stop times.
{{% /warn %}}
influx delete --bucket example-bucket \
--start '1970-01-01T00:00:00Z' \
--stop $(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--predicate '_measurement="example-measurement" AND exampleTag="exampleTagValue"'
influx delete --bucket example-bucket \
--start 2020-03-01T00:00:00Z \
--stop 2020-11-14T00:00:00Z
{{% show-in "cloud,cloud-serverless" %}}
influx delete --bucket example-bucket \
--start 2022-01-01T00:00:00Z \
--stop 2022-02-01T00:00:00Z \
--predicate '_field="example-field"'
{{% /show-in %}}
Use the InfluxDB API /api/v2/delete endpoint
to delete points from InfluxDB.
{{< api-endpoint method="post" endpoint="http://localhost:8086/api/v2/delete" api-ref="/influxdb/version/api/#operation/PostDelete" >}}
Include the following:
POSTToken schema with your InfluxDB API tokenapplication/json{{< req "*" >}} start: earliest time to delete data from (RFC3339)
{{< req "*" >}} stop: latest time to delete data from (RFC3339)
predicate: delete predicate statement
{{% warn %}}
Deleting data without a delete predicate
deletes all data in the specified bucket with timestamps between the specified start and stop times.
{{% /warn %}}
curl --request POST http://localhost:8086/api/v2/delete?org=example-org&bucket=example-bucket \
--header 'Authorization: Token YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"start": "2020-03-01T00:00:00Z",
"stop": "2020-11-14T00:00:00Z",
"predicate": "_measurement=\"example-measurement\" AND exampleTag=\"exampleTagValue\""
}'
curl --request POST http://localhost:8086/api/v2/delete?org=example-org&bucket=example-bucket \
--header 'Authorization: Token YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"start": "2020-03-01T00:00:00Z",
"stop": "2020-11-14T00:00:00Z"
}'
{{% show-in "cloud,cloud-serverless" %}}
curl --request POST http://localhost:8086/api/v2/delete?org=example-org&bucket=example-bucket \
--header 'Authorization: Token YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"start": "2022-01-01T00:00:00Z",
"stop": "2022-02-01T00:00:00Z",
"predicate": "_field=\"example-field\""
}'
{{% /show-in %}}
For more information, see the /api/v2/delete endpoint documentation.
To delete a bucket see Delete a bucket.