Method: projects.datasets.query

Execute a Timeseries Insights query over a loaded DataSet.

HTTP request

POST https://{endpoint}/v1/{name=projects/*/datasets/*}:query

Where {endpoint} is one of the supported service endpoints.

The URLs use gRPC Transcoding syntax.

Path parameters



Required. Loaded DataSet to be queried in the format of "projects/{project}/datasets/{dataset}"

Request body

The request body contains data with the following structure:

JSON representation
  "detectionTime": string,
  "slicingParams": {
    object (SlicingParams)
  "timeseriesParams": {
    object (TimeseriesParams)
  "forecastParams": {
    object (ForecastParams)
  "returnNonAnomalies": boolean,
  "returnTimeseries": boolean

string (Timestamp format)

Required. This is the point in time which we want to probe for anomalies.

The corresponding TimeseriesPoint is referred to as the detection point.

NOTE: As with any other time series point, the value is given by aggregating all events in the slice that are in the [detectionTime, detectionTime + granularity) time interval, where the granularity is specified in the timeseriesParams.granularity field.

A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".


object (SlicingParams)

Parameters controlling how we will split the data set into the slices that we will analyze.


object (TimeseriesParams)

Parameters controlling how we will build the time series used to predict the detectionTime value for each slice.


object (ForecastParams)

Parameters that control the time series forecasting models, such as the sensitivity of the anomaly detection.



If we should return slices that we evaluated, but were not marked as anomalies. This is useful for debugging purposes or to simply see what was the evaluation status for slices that were not anomalies.



If specified, returns the actual and forecasted time series for slices marked as anomalies. The time series are returned in the ForecastResult.history and ForecastResult.forecast fields.

Response body

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

Authorization Scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.

IAM Permissions

Requires the following IAM permission on the name resource:

  • timeseriesinsights.datasets.query

For more information, see the IAM documentation.