delete-datahub-events-by-filter
dci delete-datahub-events-by-filter [body]
Deletes specific events using filters. Note that the two filters, eventIds and time ranges, are mutually exclusive.
Pass the request body as name: value arguments or pipe JSON on stdin — see Command structure.
Examples
# Preview deleting a dataset's events in a time range (RFC 3339 timestamps), without sending a request.
dci delete-datahub-events-by-filter dataset: litellm-usage, startTime: "2026-08-01T00:00:00Z", endTime: "2026-08-31T23:59:59Z" --dry-run
# Delete specific events by ID without a prompt (event IDs and a time range are mutually exclusive).
dci delete-datahub-events-by-filter dataset: litellm-usage, eventIds: [beb21d99-a8c9-4dc0-8a69-5d684cc41e6c] --yes
Exit code 0 and no output; the events no longer appear in Cloud Analytics reports on the dataset.
Request
Content-Type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
dataset | string | yes | The dataset (provider) of the events to be deleted. |
eventIds | array of string | ||
startTime | string (date-time) | The start timestamp of the time range in RFC3339 format. | |
endTime | string (date-time) | The end timestamp of the time range in RFC3339 format. |
Raw JSON schema
{
"type": "object",
"description": "Exactly one of \"eventIds\" or \"time ranges\" must be provided.",
"required": [
"dataset"
],
"properties": {
"dataset": {
"type": "string",
"description": "The dataset (provider) of the events to be deleted.",
"example": "Datadog"
},
"eventIds": {
"type": "array",
"items": {
"type": "string",
"description": "Id of the event to be deleted.",
"example": "beb21d99-a8c9-4dc0-8a69-5d684cc41e6c"
}
},
"startTime": {
"type": "string",
"format": "date-time",
"description": "The start timestamp of the time range in RFC3339 format.",
"example": "2024-03-10T23:00:00Z"
},
"endTime": {
"type": "string",
"format": "date-time",
"description": "The end timestamp of the time range in RFC3339 format.",
"example": "2024-03-12T23:00:00Z"
}
},
"minProperties": 1,
"maxProperties": 1
}
Output
OK - Events deleted.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
message | string |
Raw JSON schema
{
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "Delete success"
}
}
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
HTTP status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- ingest-datahub-events — Ingest JSON
- delete-datahub-dataset — Delete a dataset
- delete-datahub-datasets — Delete datasets
- list-datahub-datasets — List datasets
- API reference: POST /datahub/v1/events/delete
Aliases: deletedatahubeventsbyfilter