Status

Checking…

Reading the latest probe results.

Updated - · JSON feed

Recent incidents

No reported incidents in the last 30 days.

This page runs on Upkeel

The status above is computed by Upkeel watching Upkeel. A probe process declares one expectation per surface every 30 seconds, runs the HTTP check, then either fulfills the expectation or lets it miss. The product you're evaluating is the engine driving this page.

Live apps/status-probe/src/probe.ts
// One iteration of the probe loop. Runs every 30s
// for each surface (ingest, platform, docs, marketing).
import { upkeel } from '@upkeel/sdk'

const surface = 'ingest'
const correlationId = `probe-${surface}-${Date.now()}`

// Declare what we expect: an event named app.status.ingest
// to arrive within 60 seconds, otherwise it's a miss.
await upkeel.expect({
  name: 'app.status.ingest',
  windowMs: 60_000,
  correlationId,
})

// Actually do the HTTP check.
const res = await fetch('https://api.upkeel.dev/health')

// Either fulfill (probe succeeded — surface is healthy)…
if (res.ok) {
  await upkeel.fulfill({ name: 'app.status.ingest', correlationId })
}
// …or let the expectation miss its 60s window, and Upkeel's
// engine flips app.status.<surface> on this page.

If you want the programmatic view, the same data this page reads is at api.upkeel.dev/v1/public/status — JSON, CORS-open, 10-second cache. Read the SDK guide to wire your own services into the same engine.