OrdinateDB

Documentation

product Pre-releaseunwritten sections are marked
GET/v1/calc/rules/{rule_id}/status

Read calculation instance health

operation ID: get_v1_calc_rules_by_rule_id_status

Overview

Read calculation instance health. 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 instance health.
  • 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/rules/00000000-0000-4000-8000-000000000001/status" \
  --header "Authorization: Bearer $ORDINATE_TOKEN"

Expected output · 200

Per-instance runtime status

Example 200 output

{
  "rule_id": "00000000-0000-4000-8000-000000000001",
  "instances": [
    {
      "asset_id": "00000000-0000-4000-8000-000000000001",
      "output_series": "00000000-0000-4000-8000-000000000001",
      "state": "string",
      "frontier_ns": 0,
      "last_eval_ns": 0,
      "consecutive_failures": 0,
      "provisional_windows": [
        {
          "start_ns": 0,
          "end_ns": 0
        }
      ]
    }
  ]
}

The cURL request supplies the documented path and query values and asks OrdinateDB to read calculation instance health. The documented 200 response is per-instance runtime status.

How it works

Backfills are managed jobs, while lineage, status, and trace reads expose the inputs and evaluation state behind calculated series.

Reference

Wire-format note. A rule can expand to many assets; this ledger-only status route is coarse any-Read
Required capability
read
Authorization scope
handler-resolved target

Parameters

NameInRequiredType and constraints
rule_idpathyes
stringformat: uuid

Request body

This operation has no request body.

Responses

200Per-instance runtime status

application/json

instancesarrayrequired

array

asset_idstringrequired
format: uuid
consecutive_failuresintegerrequired
format: int64
frontier_nsintegerrequired

UTC Unix timestamp in nanoseconds

format: int64
last_eval_nsintegerrequired

UTC Unix timestamp in nanoseconds

format: int64
output_seriesstringrequired
format: uuid
provisional_windowsarrayrequired

array

end_nsintegerrequired

UTC Unix timestamp in nanoseconds

format: int64
start_nsintegerrequired

UTC Unix timestamp in nanoseconds

format: int64
unknown fields rejected
statestringrequired
unknown fields rejected
rule_idstringrequired
format: uuid
unknown fields rejected

Example 200 output

{
  "rule_id": "00000000-0000-4000-8000-000000000001",
  "instances": [
    {
      "asset_id": "00000000-0000-4000-8000-000000000001",
      "output_series": "00000000-0000-4000-8000-000000000001",
      "state": "string",
      "frontier_ns": 0,
      "last_eval_ns": 0,
      "consecutive_failures": 0,
      "provisional_windows": [
        {
          "start_ns": 0,
          "end_ns": 0
        }
      ]
    }
  ]
}
401Authentication required

application/json

ErrorEnvelope
codestringrequired
correlation_idstringrequired
format: uuid
detailsobjectoptional
errorstringrequired

Example 401 output

{
  "error": "string",
  "code": "account-sealed",
  "correlation_id": "00000000-0000-4000-8000-000000000001"
}
403read capability is not granted

application/json

ErrorEnvelope
codestringrequired
correlation_idstringrequired
format: uuid
detailsobjectoptional
errorstringrequired

Example 403 output

{
  "error": "string",
  "code": "account-sealed",
  "correlation_id": "00000000-0000-4000-8000-000000000001"
}
503Model database is not configured or unavailable

application/json

ErrorEnvelope
codestringrequired
correlation_idstringrequired
format: uuid
detailsobjectoptional
errorstringrequired

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/rules/00000000-0000-4000-8000-000000000001/status`, {
  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);