portal.sagecontinuum.org APIportal.sagecontinuum.org ↗
Access Sage Continuum edge node status, sensor readings, app catalogs, job definitions, and time-series data via 14 structured endpoints.
curl -X GET 'https://api.parse.bot/scraper/74e0a5c8-c11c-4f26-8425-b22641d3ad19/get_node_status?VSN=W0B8' \ -H 'X-API-Key: $PARSE_API_KEY'
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.
| Param | Type | Description |
|---|---|---|
| VSNrequired | string | Node VSN identifier (e.g., W0B8, H007, W02C) |
{
"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": "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 portal.sagecontinuum.org 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.
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.
- Monitor which edge nodes are actively reporting by polling
list_nodesand filtering on thestatusfield. - Build a hardware inventory dashboard by combining
get_node_sensorsandget_node_computesacross all VSNs fromlist_all_nodes. - Retrieve recent environmental readings for a specific node using
get_node_latest_recordswith a-1hlookback window. - Audit which nodes are running a given sensor model by querying
get_sensor_detailand inspecting thevsnsarray. - Track job scheduling and completion timelines by combining
list_jobswithget_job_detailstate fields. - Discover available edge applications and their source repositories by parsing
list_appsresults for namespace and git URL fields. - Query raw time-series measurements across multiple metrics by posting a structured filter object to
query_data.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does portal.sagecontinuum.org have an official developer API?+
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?+
Can I retrieve per-app performance metrics or execution durations from job runs?+
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.