Skip to Content
ReferenceAPI referenceAnalytics

Get running totals of requests, events and bytes

GET
/api/v1/analytics/time-series/cumulative

Returns one point per bucket with the requests, geo events and bytes sent so far, oldest first. Buckets are hours for ranges up to 30 days and UTC days above, and hours or days without traffic have no point. Ranges up to 24 hours count the raw rows of the exact range, and granularity reads raw for them. Longer ranges read the aggregates, which count whole hours or UTC days, from the one that holds startDate through the last one that starts before endDate.

Authorization

cookiesession<token>

Session cookie authentication.

Query Parameters

startDate?|

Start of the range, inclusive, as ISO 8601 with a timezone, such as 2026-11-01T00:00:00Z. Requires endDate; omit with window.

endDate?|

End of the range, exclusive, as ISO 8601 with a timezone, such as 2026-11-02T00:00:00Z. Requires startDate; omit with window.

window?|

A rolling window ending now, such as 15m, 24h or 7d, up to 365 days. Use positive whole minutes, hours or days. Cannot be combined with explicit time bounds.

Response Body

Request fulfilled, document follows

application/json
  1. response

Running totals of requests, geo events and bytes, one point per bucket, oldest first.

data?array<>
endDate*string

The request's endDate, echoed as ISO 8601.

granularity*string

raw for ranges up to 24 hours, which have hourly buckets counted from the raw rows. Otherwise hourly or daily.

startDate*string

The request's startDate, echoed as ISO 8601.

Example Request
curl -X GET 'https://geometrikks.example.com/api/v1/analytics/time-series/cumulative?startDate=2026-11-01T00%3A00%3A00Z&endDate=2026-11-02T00%3A00%3A00Z'
Example Response
{  "data": [    {      "cumulativeAccessLogs": 0,      "cumulativeBytes": 0,      "cumulativeGeoEvents": 0,      "timestamp": "string"    }  ],  "endDate": "string",  "granularity": "string",  "startDate": "string"}