Skip to main content
Version: Next

AssetDatapointIntervalQuery

Aggregates numeric or boolean datapoints from the inclusive range into aligned time buckets and returns buckets in chronological order. Use this to summarize a series at a regular resolution. Numeric attributes support every formula; boolean attributes support every formula except DIFFERENCE and are aggregated as 1 for true and 0 for false.

type stringrequired

Aggregates numeric or boolean datapoints from the inclusive range into aligned time buckets and returns buckets in chronological order. Use this to summarize a series at a regular resolution. Numeric attributes support every formula; boolean attributes support every formula except DIFFERENCE and are aggregated as 1 for true and 0 for false.

Possible values: [all, interval, lttb, nearest]

Returns every stored datapoint in the inclusive range, ordered from newest to oldest. Use this when the complete series is needed without aggregation or downsampling. Supports numeric, boolean, text, and JSON-compatible complex attribute values. Unavailable values retain their stored timestamps and are returned as null. Boolean values are returned as 1 for true, 0 for false, and null for unavailable values.

fromTimestring<date-time>

Inclusive lower range bound for all, interval, and lttb as an ISO local or offset date-time. A local value is interpreted in the server time zone; an offset value is converted to the server time zone. Takes precedence over fromTimestamp and is ignored by nearest.

Example: 2026-01-01T00:00:00Z
fromTimestampinteger<int64>

Inclusive lower range bound as Unix time in milliseconds for all, interval, and lttb; ignored when fromTime is supplied. For nearest this is instead the requested time in Unix seconds and is the only time field used.

Example: 1767225600000
toTimestring<date-time>

Inclusive upper range bound for all, interval, and lttb as an ISO local or offset date-time. A local value is interpreted in the server time zone; an offset value is converted to the server time zone. Takes precedence over toTimestamp and is ignored by nearest.

Example: 2026-01-02T00:00:00Z
toTimestampinteger<int64>

Inclusive upper range bound as Unix time in milliseconds for all, interval, and lttb; ignored when toTime is supplied and not used by nearest.

Example: 1767312000000
formulastringrequired

Aggregation applied per bucket: MIN, AVG, and MAX calculate the corresponding value; DIFFERENCE calculates the change between the last values of consecutive buckets; COUNT counts stored datapoints, including null-valued rows; SUM totals numeric values (or true values for booleans); MODE selects the most frequent value; and MEDIAN selects the middle value. DIFFERENCE is numeric only. For numeric and boolean attributes, MIN, AVG, MAX, SUM, MODE and MEDIAN ignore null values and return null for buckets with no available values. Empty gap-filled buckets return null for COUNT. MODE ties select the smaller numeric value or true for booleans. Boolean MEDIAN returns 1 when the median of available 1/0 values is at least 0.5, otherwise 0; it returns null when unavailable. DIFFERENCE uses the last stored value per bucket. With gap filling enabled, empty buckets carry the previous bucket value, while explicit null values interrupt carry-forward. A difference is null if either endpoint is unavailable. The first returned bucket has a difference of zero if its value is available; observations outside the query range are not used.

Possible values: [MIN, AVG, MAX, DIFFERENCE, COUNT, SUM, MODE, MEDIAN]

gapFillboolean

When true, returns empty buckets across the requested range using time-bucket gap filling; their aggregate is generally null. When false, only buckets containing datapoints are returned. MODE currently returns only buckets containing datapoints regardless of this flag. Defaults to false.

Example: true
intervalstringrequired

PostgreSQL interval literal that sets the bucket width. Include a positive amount and unit, for example 1 hour, 5 minutes, or 1 day.

Example: 1 hour
AssetDatapointIntervalQuery
{
"fromTime": "2026-01-01T00:00:00Z",
"fromTimestamp": 1767225600000,
"toTime": "2026-01-02T00:00:00Z",
"toTimestamp": 1767312000000,
"type": "string",
"formula": "MIN",
"gapFill": true,
"interval": "1 hour"
}