Delete a data stream
Permanently deletes a data stream and all associated records and property definitions.
Sync vs async: Streams with at most 10,000 records are deleted synchronously and return 204. Streams above that threshold must be deleted asynchronously by passing ?async=true; otherwise the request fails with 409. Callers may also opt into the async path explicitly for any size. The async path returns 202 with a DataStreamOperation payload; poll GET /data_streams/{key}/operations/{id} for progress.
Authorizations
Path Parameters
The immutable data stream key
Query Parameters
When "true", run the delete asynchronously and return 202 + a DataStreamOperation. Required for streams with more than 10,000 records.
true, false Response
Async delete accepted. Poll GET /data_streams/{key}/operations/{id} (also set in the Location header) until status is completed or failed.
Async operation against a data stream (delete or reset). Poll via GET /data_streams/{key}/operations/{id}. An operation only reaches completed once the stream is verified empty in the primary database; if records outlive the wipe (for example, ingestion landing mid-reset), it ends failed with records_remaining > 0 and an error_message asking you to retry.
delete, reset pending, running, completed, failed Percentage 0-100
Number of records still on the stream when the operation reached a terminal state, counted in the primary database (not the analytics mirror behind records_count, which can lag). 0 on completed; greater than 0 on a failed operation that left records behind; null while pending or running. After a reset, trust this field rather than re-listing /records.