Deleting Events From Fiddler

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=True

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

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 during metric recalculation

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. This method removes all events matching the provided IDs, including duplicates.

Delete by Timestamp Range

Delete events within a specified time period using start and end timestamps. The timestamp used for filtering corresponds to the event_ts_col specified during Model onboarding.

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), (i.e. start_time ≤ t < end_time), format of timestamp: 'YYYY-MM-DD HH:mm:ss'

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

import requests
headers = {'Content-Type': 'application/json', 'Authorization': f'Bearer {token}'}
data = {'model_id': model.id,
        'time_range':{
            'start_time':'2024-09-27 17:00:00',
            'end_time':'2024-09-27 17:30:00',
            },
        'update_metrics':True,
        }
response = requests.delete(
    url=f'{url}/v3/events',
    headers=headers,
    json=data,
)

Example: Deleting Inference Events by Event IDs

import requests
headers = {'Content-Type': 'application/json', 'Authorization': f'Bearer {token}'}
data = {
         'model_id': model.id,
         'event_ids': ['event_id1', 'event_id2'],
         'update_metrics':False,
      }
response = requests.delete(
  url=f'{url}/v3/events',
  headers=headers,
  json=data,
)

📘 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.


💡 Need help? Contact us at [email protected].

Last updated

Was this helpful?