Method: projects.locations.collections.dataStores.userEvents.purge

Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. The resource name of the catalog under which the events are created. The format is projects/${projectId}/locations/global/collections/{$collectionId}/dataStores/${dataStoreId}

Request body

The request body contains data with the following structure:

JSON representation
  "filter": string,
  "force": boolean


Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are:

  • eventType: Double quoted UserEvent.event_type string.
  • eventTime: in ISO 8601 "zulu" format.
  • userPseudoId: Double quoted string. Specifying this will delete all events associated with a visitor.
  • userId: Double quoted string. Specifying this will delete all events associated with a user.


  • Deleting all events in a time range: eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"
  • Deleting specific eventType: eventType = "search"
  • Deleting all events for a specific visitor: userPseudoId = "visitor1024"
  • Deleting all events inside a DataStore: *

The filtering fields are assumed to have an implicit AND.



The force field is currently not supported. Purge user event requests will permanently delete all purgeable events. Once the development is complete: If force is set to false, the method will return the expected purge count without deleting any user events. This field will default to false if not included in the request.

Response body

If successful, the response body contains an instance of Operation.

Authorization scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the parent resource:

  • discoveryengine.userEvents.purge

For more information, see the IAM documentation.