/v1/calc/lineageRead calculation lineage at a series instant
operation ID: get_v1_calc_lineage
Overview
Read calculation lineage at a series instant. The calculation API repairs historical derived data and explains how calculated values were produced.
When to use it
- Use it when an application needs to read calculation lineage at a series instant.
- Use it when an engineer is validating derived data, diagnosing a rule, or repairing a historical calculation window.
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/calc/lineage?series=00000000-0000-4000-8000-000000000001&ts_ns=0" \
--header "Authorization: Bearer $ORDINATE_TOKEN"Expected output · 200
Covering evaluation with latest computed_at_ns
Example 200 output
{
"rule_id": "00000000-0000-4000-8000-000000000001",
"rule_version": 0,
"window": {
"start_ns": 0,
"end_ns": 0
},
"evaluated_at_ns": 0,
"inputs": {}
}The cURL request supplies the documented path and query values and asks OrdinateDB to read calculation lineage at a series instant. The documented 200 response is covering evaluation with latest computed_at_ns.
How it works
Backfills are managed jobs, while lineage, status, and trace reads expose the inputs and evaluation state behind calculated series.
Reference
- Required capability
- read
- Authorization scope
- held anywhere
Parameters
| Name | In | Required | Type and constraints |
|---|---|---|---|
series | query | yes | stringformat: uuid |
ts_ns | query | yes | integerUTC Unix timestamp in nanoseconds format: int64 |
Request body
This operation has no request body.
Responses
200Covering evaluation with latest computed_at_ns
application/json
evaluated_at_nsintegerrequiredUTC Unix timestamp in nanoseconds
format: int64inputsany ofrequiredArbitrary JSON value
any of
option 1
object with arbitrary properties
option 2
array
any itemsoption 3
stringoption 4
numberoption 5
integeroption 6
booleanoption 7
nullrule_idstringrequired- format: uuid
rule_versionintegerrequired- format: int64
windowobjectrequired- unknown fields rejected
end_nsintegerrequiredUTC Unix timestamp in nanoseconds
format: int64start_nsintegerrequiredUTC Unix timestamp in nanoseconds
format: int64
Example 200 output
{
"rule_id": "00000000-0000-4000-8000-000000000001",
"rule_version": 0,
"window": {
"start_ns": 0,
"end_ns": 0
},
"evaluated_at_ns": 0,
"inputs": {}
}401Authentication 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"
}404No lineage covers this series instant
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 404 output
{
"error": "string",
"code": "account-sealed",
"correlation_id": "00000000-0000-4000-8000-000000000001"
}503Model database is not configured or unavailable
application/json
ErrorEnvelope
codestringrequiredcorrelation_idstringrequired- format: uuid
detailsobjectoptionalerrorstringrequired
Example 503 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/calc/lineage?series=00000000-0000-4000-8000-000000000001&ts_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 Calculations.