Get sandbox fleet metrics
View your organization's sandbox concurrency, creation counts, and allocated or consumed CPU hours over a selected time range. Returns sampled active-sandbox and configured-vCPU history, successful sandbox creation and execution counts, and allocated and consumed CPU hours. The selected range includes the current partial UTC hour and preceding full hours. The response names its exact bounds. Usage totals come from reported events and are not billing amounts. Paused sessions count as active sessions. Availability is enabled per organization; unavailable organizations receive 404.
Required permission
Requires the sandboxes.read permission. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl usage sandbox-monitoring getapiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
orgId*stringrange?stringNumber of UTC-hour buckets, including the current partial hour.
"1h""6h""24h""7d"Fleet observations and usage
application/json- response
Fleet observations and reported usage for the organization. History begins when collection is enabled. Resource gauges are sampled; brief concurrency peaks can be missed. Usage is attributed to the UTC hour when its reporting interval ended, rather than reconstructed within the interval. Empty or failed sources remain distinguishable through coverage, warnings, and nullable observations.
range*SandboxMonitoringRangeNumber of UTC-hour buckets, including the current partial hour.
"1h""6h""24h""7d"start*stringBeginning of the first included UTC hour.
date-timeend*stringEnd of the current partial hour as observed by this response.
date-timestepSeconds*integerSpacing of sampled fleet observations. Usage entries are separate UTC-hour buckets.
1 <= valuemonitoringSince?stringEarliest reported event within the selected window, when present. Not an all-time collection-start guarantee.
date-timedataThrough?stringLatest reported event included in the usage totals.
date-timetotals*series*array<>items <= 1000usage*array<>items <= 168peakObservedConcurrency*numberdouble0 <= valuecoverage*SandboxMonitoringCoverage"complete""partial""unavailable"warnings*array<string>curl -X GET 'https://api.openrelay.inc/v1/orgs/string/sandboxes/metrics'{ "range": "1h", "start": "2019-08-24T14:15:22Z", "end": "2019-08-24T14:15:22Z", "stepSeconds": 1, "monitoringSince": "2019-08-24T14:15:22Z", "dataThrough": "2019-08-24T14:15:22Z", "totals": { "created": 0, "executionsStarted": 0, "executionsCompleted": 0, "allocatedVcpuHours": 0, "consumedCpuHours": 0, "cpuCoverage": "complete" }, "series": [ { "at": "2019-08-24T14:15:22Z", "activeSandboxes": 0, "configuredVcpus": 0 } ], "usage": [ { "start": "2019-08-24T14:15:22Z", "end": "2019-08-24T14:15:22Z", "created": 0, "executionsStarted": 0, "executionsCompleted": 0, "allocatedVcpuHours": 0, "consumedCpuHours": 0, "cpuCoverage": "complete" } ], "peakObservedConcurrency": 0, "coverage": "complete", "warnings": [ "string" ]}Get the org's on-demand inference series GET
Requests, error rate, latency and time-to-first-token percentiles, and tokens for the org's online on-demand inference over 1h, 6h, 24h, or 7d. Every series shares one time grid, and `models` lists the models with traffic in the range. Without `model` every series is the org total across its on-demand models. Batch and async calls are not counted. Every series also carries a whole-range figure, and the per-point counts add up to it. Data appears within a minute of the org's first on-demand request. These are display metrics, not billing: spend is in the daily usage endpoint.
Overview
For GPU providers: applications, nodes, provisioning tokens, and earnings, plus the one-command node installer, node lifecycle status and offboarding.