Discover/Sage Continuum API
live

Sage Continuum APIportal.sagecontinuum.org

Access Sage Continuum edge node status, sensor readings, app catalogs, job definitions, and time-series data via 14 structured endpoints.

Endpoint health
verified 4d ago
list_nodes
list_jobs
get_node_app_history
list_apps
list_sensors
14/14 passing latest checkself-healing
Endpoints
14
Updated
26d ago

What is the Sage Continuum API?

This API provides 14 endpoints for querying the Sage Continuum scientific edge computing platform, covering node status, hardware manifests, sensor catalogs, app catalogs, job definitions, and raw time-series measurements. Endpoints like get_node_status return GPS coordinates, attached sensors, and live reporting status, while query_data lets you pull NDJSON-formatted measurement records filtered by time window and metric name.

Try it
Node VSN identifier (e.g., W0B8, H007, W02C)
api.parse.bot/scraper/74e0a5c8-c11c-4f26-8425-b22641d3ad19/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/74e0a5c8-c11c-4f26-8425-b22641d3ad19/get_node_status?VSN=H007' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace portal-sagecontinuum-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Sage Continuum Portal — monitor edge nodes, sensors, and apps."""
from parse_apis.sage_continuum_portal_api import SageContinuum, LOOKBACK, START, ResourceNotFound

client = SageContinuum()

# List active (reporting) nodes — bounded iteration
for node in client.nodes.list(limit=3):
    print(node.vsn, node.project, node.status)

# Drill into one node's recent measurements
node = client.nodes.list(limit=1).first()
if node:
    for record in node.latest_records(lookback=LOOKBACK._30M, limit=5):
        print(record.timestamp, record.name, record.value)

# Get a node's full hardware manifest
if node:
    manifest = node.manifest()
    print(manifest.total_sensors, manifest.total_computes)

# Raw time-series query across the platform
for record in client.records.query(query_json='{"start":"-1h","filter":{"name":"sys.uptime"},"tail":3}', limit=3):
    print(record.timestamp, record.name, record.meta)

# Browse the sensor catalog
sensor = client.sensors.list(limit=1).first()
if sensor:
    print(sensor.hw_model, sensor.manufacturer, sensor.capabilities)

# Typed error handling for a missing node
try:
    missing = client.nodes.get(vsn="ZZZZ")
    print(missing.name)
except ResourceNotFound as exc:
    print(f"Node not found: {exc.VSN}")

print("exercised: nodes.list / nodes.get / latest_records / manifest / records.query / sensors.list")
All endpoints · 14 totalmissing one? ·

Get the reporting status and metadata for a specific node by its VSN. Returns node details including project, focus, location, GPS coordinates, registration info, and lists of attached sensors and compute units. Also checks whether the node is currently reporting data by looking for recent sys.uptime signals.

Input
ParamTypeDescription
VSNrequiredstringNode VSN identifier (e.g., W0B8, H007, W02C)
Response
{
  "type": "object",
  "fields": {
    "vsn": "string, node VSN identifier",
    "name": "string, node hardware name",
    "focus": "string, node focus area",
    "status": "string, 'reporting' or 'not reporting'",
    "address": "string, street address",
    "gps_lat": "number or null, latitude",
    "gps_lon": "number or null, longitude",
    "project": "string, project the node belongs to (e.g., SAGE, SGT)",
    "sensors": "array of sensor objects attached to the node",
    "computes": "array of compute unit objects attached to the node",
    "location": "string, physical location description",
    "registered_at": "string or null, ISO timestamp of registration",
    "commissioned_at": "string or null, ISO timestamp of commissioning"
  },
  "sample": {
    "data": {
      "vsn": "W0B8",
      "name": "000048B02DD3C5BD",
      "focus": "Training & Dev",
      "status": "not reporting",
      "address": "Argonne\r\n9700 South Cass Ave, Lemont, IL 60439",
      "gps_lat": 41.701339,
      "gps_lon": -87.995624,
      "project": "SAGE",
      "sensors": [
        {
          "name": "top_camera",
          "hw_model": "XNV-8081Z",
          "is_active": true,
          "capabilities": [
            "Camera"
          ],
          "manufacturer": "Hanwha Techwin"
        }
      ],
      "computes": [
        {
          "name": "nxcore",
          "hw_model": "xavierNX",
          "is_active": true,
          "serial_no": "48B02DD3C5BD",
          "capabilities": [
            "gpu",
            "cuda102",
            "arm64"
          ],
          "manufacturer": "ConnectTech"
        }
      ],
      "location": "ATMOS",
      "registered_at": "2023-10-09T16:36:58Z",
      "commissioned_at": null
    },
    "status": "success"
  }
}

About the Sage Continuum API

Node and Hardware Data

get_node_status accepts a VSN string (e.g., W0B8, H007) and returns the node's project affiliation, focus area, street address, GPS coordinates, and arrays of attached sensor and compute objects along with a status field indicating whether the node is currently reporting. list_nodes restricts results to nodes that have sent sys.uptime signals in the last 15 minutes, while list_all_nodes returns every registered node regardless of activity. get_node_sensors adds the full hardware manifest including LoRaWAN connections, datasheet URLs, and per-sensor descriptions. get_node_computes returns the compute units attached to a node including model, manufacturer, and serial number.

Sensor and App Catalogs

list_sensors returns every sensor model in the Sage catalog with capabilities arrays, manufacturer names, datasheet URLs, markdown descriptions, and a vsns array listing which nodes carry each model. get_sensor_detail narrows that to a single model by MODEL name (e.g., BME680, ES-642). The app side mirrors this: list_apps returns all public ECR applications with name, namespace, version, description, source repository, authors, and license. get_app_detail requires all three of NAMESPACE, NAME, and VERSION — there is no latest alias, so version strings must be obtained from list_apps first.

Jobs and Time-Series Queries

list_jobs exposes every job on the platform with plugin definitions, node assignments, science rules, and current state. get_job_detail accepts a numeric JOB_ID and returns the full job definition including last_state, last_submitted, last_started, and last_completed timestamps. For measurement data, get_node_latest_records accepts a LOOKBACK parameter in formats like -30m, -6h, or -7d and returns timestamped records with name, value, and meta. The lower-level query_data endpoint accepts a raw JSON object with a required start key plus optional filters, returning parsed NDJSON records. get_node_app_history pulls scheduler event logs (sys.scheduler.*) for a node over a configurable time window.

Reliability & maintenanceVerified

The Sage Continuum API is a managed, monitored endpoint for portal.sagecontinuum.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when portal.sagecontinuum.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official portal.sagecontinuum.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
14/14 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor which edge nodes are actively reporting by polling list_nodes and filtering on the status field.
  • Build a hardware inventory dashboard by combining get_node_sensors and get_node_computes across all VSNs from list_all_nodes.
  • Retrieve recent environmental readings for a specific node using get_node_latest_records with a -1h lookback window.
  • Audit which nodes are running a given sensor model by querying get_sensor_detail and inspecting the vsns array.
  • Track job scheduling and completion timelines by combining list_jobs with get_job_detail state fields.
  • Discover available edge applications and their source repositories by parsing list_apps results for namespace and git URL fields.
  • Query raw time-series measurements across multiple metrics by posting a structured filter object to query_data.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does portal.sagecontinuum.org have an official developer API?+
Yes. Sage Continuum provides public data APIs documented at https://portal.sagecontinuum.org and https://data.sagecontinuum.org. The Parse API consolidates multiple Sage endpoints into a single interface with consistent request and response formats.
What does `query_data` return, and how do I filter it?+
query_data accepts a JSON object with a required start key (relative time string like -1h or -2d) plus optional filter keys for metric name, node VSN, and a tail parameter to limit results. It returns an array of records each containing timestamp, name, value, and a meta object. Use get_node_latest_records instead if you only need recent data for a single known VSN.
How fresh is the node reporting status returned by `list_nodes`?+
list_nodes checks for sys.uptime signals within the last 15 minutes. A node absent from this list may still have historical data queryable via query_data or get_node_latest_records — it simply hasn't sent a heartbeat recently. There is no sub-minute polling interval exposed through the API.
Does the API expose historical node deployment or decommission dates?+
Not currently. The node endpoints return registration metadata, GPS coordinates, and current hardware manifests, but do not include deployment history timelines or decommission records. You can fork this API on Parse and revise it to add an endpoint targeting Sage's manifest history if that data becomes available.
Can I retrieve per-app performance metrics or execution durations from job runs?+
Not directly. get_node_app_history returns scheduler event records (plugin completion events and state changes) with timestamps and JSON-encoded values, but does not expose structured execution duration or resource-usage metrics. list_jobs and get_job_detail cover job state and scheduling rules. You can fork this API on Parse and revise it to add an endpoint that computes durations from the event log timestamps.
Page content last updated . Spec covers 14 endpoints from portal.sagecontinuum.org.
Related APIs in OtherSee all →
Sensor.Community API
Monitor real-time and historical air quality data from thousands of sensors across different locations, filtering by area, country, sensor type, or custom criteria. Access current readings and archived datasets to track pollution patterns and analyze air quality trends over time.
sentinel-hub.com API
Access satellite imagery from around the world and retrieve spectral band data, timestamps, and geographic coverage information to analyze Earth observation data. Process and generate statistics from satellite images for your specific areas of interest using powerful image processing tools.
api.nasa.gov API
Access NASA's suite of open data APIs — including the Astronomy Picture of the Day, Near Earth Object tracking, DONKI space weather events, EPIC Earth imagery, Mars weather, the NASA Image and Video Library, the Exoplanet Archive, and EONET natural events.
mars.nasa.gov API
Explore real-time images, weather data, and location tracking from NASA's Perseverance and Curiosity rovers on Mars, while discovering mission details, rock sample findings, and the latest news from the Mars Exploration Program. Access rover photos, scientific discoveries, and multimedia content to stay updated on current Mars exploration activities.
spatial.nsw.gov.au API
Search and retrieve spatial data, publications, news, and information from NSW Spatial Services, including portal items, data packs, and groups. Access detailed information about spatial datasets and resources available through the NSW Spatial Services Portal.
global-warming.org API
Access real-time climate and environmental data including temperature, CO2, methane, nitrous oxide levels, arctic sea ice coverage, and ocean warming metrics. Browse climate news updates and explore detailed information on deforestation trends through an integrated environmental monitoring platform.
wunderground.com API
Access real-time weather conditions, multi-day forecasts, and detailed historical weather data from thousands of personal and airport weather stations worldwide. Search and retrieve current observations, hourly history, and monthly records to power your weather applications and analysis.
worldmonitor.app API
Monitor global events and geopolitical developments in real-time by accessing live conflict reports, military movements, cyber threats, economic indicators, maritime activity, and 15 other critical intelligence categories. Track everything from supply chain disruptions and infrastructure status to market quotes, weather patterns, and displacement data to stay ahead of worldwide geopolitical shifts.
Sage Continuum Portal API – Nodes, Sensors & Jobs · Parse