Deleting Events

Fiddler enables you to delete previously published production inference data using either unique identifiers or event timestamps using our Events REST API.

Note:

Event deletion is only offered using the REST API and is not currently supported in the Fiddler Python client.

Common reasons for deletion include:

  • Complying with data privacy regulations (GDPR, CCPA, etc.)

  • Removing erroneously published data

  • Correcting data inaccuracies

Impact on Monitoring Metrics

When deleting inference data with the time range filter you can control how it affects your monitoring metrics using the update_metrics parameter in the Events Delete REST API:

  • Preserve existing aggregated metrics: update_metrics=False

  • Recalculate metrics to reflect the data removal (default): update_metrics=True

Important Considerations

  • Deletions are permanent and cannot be undone

  • Pre-production (baseline) datasets do not support row-level deletion

  • Large-scale deletions may temporarily impact data ingestion performance.

  • By default, the event deletion API allows up to 30 requests per day.

  • If the rate limit is exceeded, the API will return a 429 Too Many Requests response, along with rate limiting headers:

    • X-RateLimit-Limit – The maximum number of allowed requests in the current window.

    • X-RateLimit-Remaining – The number of remaining requests in the current window.

    • Retry-After – The number of seconds to wait before retrying, or the HTTP date when the rate limit resets.

    • X-RateLimit-Reset – The UTC epoch time (seconds) when the current rate limiting window resets.

Deletion Methods

Fiddler supports two filtering methods for deletion (only one method can be used per API call):

Delete by Event ID

Delete specific inference events by providing their unique identifiers. The event ID corresponds to the event_id_col specified during Model onboarding.

Note: Event IDs are designed to be unique. If duplicate event_id values have been published, deleting by event ID will remove all events matching those IDs from the raw events table. If update_metrics=True is set, aggregated metrics may not be fully updated if duplicate events exist and deduplication was not enabled. You can delete up to 10,000 events per API call. If you need to delete more events in one request, please contact Fiddler support.

Delete by Timestamp Range

Delete events that fall within a designated time range by specifying start and end timestamps. The filtering is based on the timestamp column (event_ts_col) defined during Model onboarding. Deletions are processed in batches (default batch size: 100K events) to ensure efficiency and resilience.

Note: Ensure that the max_memory_usage setting in ClickHouse is configured to handle the number of events specified by the batch size (controlled by the EVENT_DELETION_BATCH_SIZE environment variable). You can delete up to 100 million events per day using this endpoint. If you require a higher daily deletion limit, please contact Fiddler support.

Usage params

Parameter
Type
Default
Description

model_id

UUID

-

Unique identifier for the model from which production events are deleted.

time_range

Optional[dict]

-

Dictionary with start_time (inclusive) and end_time (exclusive) in UTC, both aligned to the hour (format: 'YYYY-MM-DD HH:00:00'). Specify timestamps so that the entire range covers complete hours—do not use minutes or seconds. The range filter applies as start_time ≤ t < end_time.

event_ids

Optional[list]

-

List of event_ids to be deleted.

update_metrics

Optional[bool]

False

Determines if the monitoring metrics are recalculated to reflect the changes


Example: Deleting Inference Events by Timestamp Range

Example: Deleting Inference Events by Event IDs

📘 Please delete events with caution when update_metrics=True. We recommend not deleting events while there is an ongoing publish or update operation within the same data range.

Last updated

Was this helpful?