Skip to content
Docs

Self-hosting

Status page

A public status page with components, incidents, maintenance windows and email subscribers, fed by the synthetic monitor.

Each tenant can publish a status page for its partners and advertisers. It is a page in the admin app that needs no login, backed by public API endpoints.

What it contains

  • Components: the parts of your service you want to report on (for example Tracking, Reporting, Partner portal), each with a status. Manage them under Settings, Status page or /status/components.
  • Incidents: open one with POST /status/incidents (affected components change status), then post updates (investigating, identified, monitoring, resolved). Every update is emailed to subscribers.
  • Maintenance windows: scheduled windows (/status/maintenance); a worker keeps the window clock and notifies subscribers.
  • Settings: title, description and whether the page is public (/status/settings).
  • Subscribers: visitors subscribe with their email; the subscription is double opt-in (a confirmation link is emailed), every email carries an unsubscribe link, and staff can list and remove subscribers.

Where it is served

URLContent
/status-public/<tenant> on the admin appThe human page. The alias default resolves to the tenant named by DT_STATUS_TENANT.
GET /v1/status/public/{tenant}The page as JSON, unauthenticated and cacheable.
POST /v1/status/public/{tenant}/subscribe, GET .../confirm, GET .../unsubscribeSubscription flow.

Links in subscriber emails use DT_STATUS_PAGE_URL (default DT_PORTAL_BASE_URL). Set DT_STATUS_DISABLE=1 to turn the notification worker off.

Automatic incidents

If the synthetic canary fails DT_SYNTH_FAIL_AFTER times in a row for a region, an incident is opened on the canary tenant's page and resolved automatically after two consecutive successful probes. Staff can still add updates by hand. GET /status/synthetic shows recent and latest results per region.

Internal health

The authenticated GET /status/health (Settings, System health) is for operators: readiness of every service, consumer lag, postback outcomes and the latest synthetic run. It is not shown on the public page.