/v1/series/{uuid}/rollupsRead stored rollup rows
operation ID: get_v1_series_by_uuid_rollups
Overview
Read stored rollup rows. Series-storage operations expose registered series, direct stored data, gap and chunk metadata, and lifecycle controls.
When to use it
- Use it when an application needs to read stored rollup rows.
- Use it when a diagnostic or maintenance tool needs storage-level series data instead of model-resolved attributes.
Quick example
Set the base URL and replace generated identifiers or credentials with values from your installation.
cURL
curl --request GET \
--url "$ORDINATE_URL/v1/series/00000000-0000-4000-8000-000000000001/rollups?tier=1h&start_ns=0&end_ns=0" \
--header "Authorization: Bearer $ORDINATE_TOKEN"Expected output · 200
Raw rollup rows; percent_good is the stored 0-1 fraction
Example 200 output
{
"rows": [
{
"window_start_ns": 0,
"count": 0,
"min": 0,
"max": 0,
"sum": 0,
"tw_sum_linear": 0,
"tw_sum_stepped": 0,
"first": 0,
"last": 0,
"good_time_ns": 0,
"percent_good": 0,
"finalised_at_ns": 0
}
]
}The cURL request supplies the documented path and query values and asks OrdinateDB to read stored rollup rows. The documented 200 response is raw rollup rows; percent_good is the stored 0-1 fraction.
How it works
These routes address a stable series UUID directly. Use resolved-read routes when an application should follow model bindings across time.
Reference
- Required capability
- read
- Authorization scope
- owning asset of series path parameter `uuid`, or staging-root
Parameters
| Name | In | Required | Type and constraints |
|---|---|---|---|
uuid | path | yes | stringformat: uuid |
tier | query | yes | stringvalues: 1h · 1d |
start_ns | query | yes | integerUTC Unix timestamp in nanoseconds format: int64 |
end_ns | query | yes | integerUTC Unix timestamp in nanoseconds format: int64 |
Request body
This operation has no request body.
Responses
200Raw rollup rows; percent_good is the stored 0-1 fraction
application/json
rowsarrayrequiredarray
countintegerrequired- format: int64
finalised_at_nsany ofrequiredany of
option 1
integerUTC Unix timestamp in nanoseconds
format: int64option 2
nullfirstany ofrequiredany of
option 1
numberformat: doubleoption 2
nullgood_time_nsintegerrequired- format: int64
lastany ofrequiredany of
option 1
numberformat: doubleoption 2
nullmaxany ofrequiredany of
option 1
numberformat: doubleoption 2
nullminany ofrequiredany of
option 1
numberformat: doubleoption 2
nullpercent_goodnumberrequired- format: double
sumany ofrequiredany of
option 1
numberformat: doubleoption 2
nulltw_sum_linearnumberrequired- format: double
tw_sum_steppednumberrequired- format: double
window_start_nsintegerrequiredUTC Unix timestamp in nanoseconds
format: int64
Example 200 output
{
"rows": [
{
"window_start_ns": 0,
"count": 0,
"min": 0,
"max": 0,
"sum": 0,
"tw_sum_linear": 0,
"tw_sum_stepped": 0,
"first": 0,
"last": 0,
"good_time_ns": 0,
"percent_good": 0,
"finalised_at_ns": 0
}
]
}400Invalid UUID, tier, or range
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 400 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}text/plain
string401Authentication required
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 401 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}403Read capability is not granted
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 403 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}Code examples
These examples are generated from the source contract. Replace the base URL, credentials, identifiers, and minimal generated values for your instance.
JavaScript
const ordinateUrl = "http://localhost:8080";
const token = "<bearer-token>";
const response = await fetch(`${ordinateUrl}/v1/series/00000000-0000-4000-8000-000000000001/rollups?tier=1h&start_ns=0&end_ns=0`, {
method: "GET",
headers: {
Authorization: `Bearer ${token}`
}
});
if (!response.ok) {
throw new Error(`OrdinateDB returned ${response.status}: ${await response.text()}`);
}
const data = await response.json();
console.log(data);Related topics
- Wire conventions — Understand the prerequisite concepts and transport behavior for this operation.
- REST endpoint index — Find other operations in Series storage.