Skip to content

Data delay ​

4 endpoints at a glance
MethodPathSummary
POST/atlas/data-delay/refresh/Refresh Data Delay
GET/data-delay/incidents/Get Incidents
GET/data-delay/series/Get Series
GET/data-delay/stats/Get Stats

data-delay​


Get Stats​

GET
/data-delay/stats/

Operator-header tiles: row count, last-24h count, the latest
row verbatim (drives the "Current delay" + buffer tiles), and
the oldest ts so the UI can render "Data since YYYY-MM-DD".

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Samples​


Get Incidents​

GET
/data-delay/incidents/

Ingestion-delay incident spans — shades the chart on the delay
view. Public, matching the rest of this router and the page it
feeds.

Parameters​

Query Parameters

since_ts
limit
Type
integer
Default
50

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Variables
Key
Value

Samples​


Get Series​

GET
/data-delay/series/

Time-series rows for the chart. since_ts / until_ts
clamp the window (unix-seconds, both optional). limit is
clamped server-side to 10000 so a runaway range can't drag the
whole collection over the wire. A span wider than the
substrate's :attr:DataDelay.MAX_RANGE_SEC (90 days) returns
HTTP 400 — defends against a paste-mistake on a URL deep-link
asking Mongo to scan an unbounded index slice.

Newest-first on the wire; the frontend chart reverses on
render.

Parameters​

Query Parameters

since_ts
until_ts
limit
Type
integer
Default
2000

Responses​

Successful Response

application/json
JSON
[
  
{
  
  
"additionalProperties": "string"
  
}
]

Playground​

Variables
Key
Value

Samples​


Refresh Data Delay​

POST
/atlas/data-delay/refresh/

Pull one /api/v2/system/data-delay/ snapshot now and
upsert into db.data_delay.

Manual companion to the every-minute ingest_data_delay cron
— useful for bootstrap (the next minute boundary can be up to a
minute away on a fresh deploy) and for re-trying after a brief
upstream outage. Routed through :func:run_and_record so the
manual run lands in db.task_history next to the scheduled
ones, distinguishable by trigger="manual".

Authorizations​

APIKeyQuery
Type
API Key (query: api-key)
or
APIKeyHeader
Type
API Key (header: x-api-key)

Responses​

Successful Response

application/json
JSON
[
]

Playground​

Authorization

Samples​


Atlas — built on RIPE Atlas data.