getDatapoints method

Future<DatapointsModel> getDatapoints(
  1. DatapointsFilterModel filter, {
  2. dynamic raw = false,
})

Needs a DatapointsFilterModel to retrieve either aggregates or raw datapoints.

This API endpoint does not support paging, so max 10,000 aggregated or 100,000 raw datapoints can be retrieved at the time. https://docs.cognite.com/api/v1/#operation/getMultiTimeSeriesDatapoints Use raw as true to ignore the aggregate in the filter and just get raw datapoints.

Implementation

Future<DatapointsModel> getDatapoints(DatapointsFilterModel filter,
    {raw: false}) async {
  Response? res;
  var f = filter.toJson();
  if (raw) {
    f.remove('aggregates');
  }
  try {
    Map data = {
      'items': [f]
    };
    res = await client.http.post('/timeseries/data/list', data: data);
  } on DioError {
    return DatapointsModel();
  }
  if (res!.statusCode! >= 200 && res.statusCode! <= 299) {
    DatapointsModel dp = DatapointsModel();
    dp.fromJson(res.data['items'][0]);
    return dp;
  }
  _log.w('getDatapoints() returned non-2xx response code');
  return DatapointsModel();
}