Resources / Health and status

Health and status

DocMind records platform health over time and exposes a public status feed used by the status page.

Public status

The public status page at /status is backed by live checks stored in Postgres. It reports current health, recent latency, 60-day uptime bars and incident history for customer-facing components.

Recorded checks

The worker records a status sample for these components on a fixed interval:

NAMETYPEDESCRIPTION
Extraction APIHTTPCalls the public /v1/ping endpoint and records HTTP status plus latency.
DashboardHTTPChecks the public DocMind web application route.
Extraction engineproviderVerifies that Interfaze credentials are present and the provider endpoint is reachable.
WebhooksworkerRecords a worker heartbeat and Redis queue health.
Mobile Money paymentsproviderVerifies that Wistfare payment credentials are present and the payment endpoint is reachable.
  • Default check interval is one minute.
  • A component becomes degraded if no fresh check is recorded within the stale threshold.
  • Daily uptime is calculated from recorded samples, not from static copy.

Status API

GET/v1/status?days=60

The status endpoint is public and returns a bounded history window. The days parameter is clamped from 1 to 90 days.

200 OK
{
  "overall_status": "operational",
  "window_days": 60,
  "components": [
    {
      "id": "extraction_api",
      "name": "Extraction API",
      "status": "operational",
      "latency_ms": 42,
      "uptime_percent": 99.98,
      "days": [
        { "date": "2026-06-07", "status": "operational", "checks": 1440 }
      ]
    }
  ],
  "incidents": []
}

Incidents

Incidents are stored in Postgres and shown newest first. They can be used for degraded performance, outages, planned maintenance, delayed webhooks or payment-provider issues.

First implementationPostgres is the initial history store because DocMind already depends on it. If check volume grows, the same API shape can be backed by a dedicated time-series database later.