Monitoring
From browsing to watching — stacks + change feed + health that keep shipped apps from silently breaking.
How health works
BullMQ queues health-check (concurrency 10) + metadata-fetch (5). Health: HEAD 10s → fallback GET on 405/501, writes api_health_checks + upserts api_current_health (isAlive, statusCode, responseTimeMs, uptime24h/7d/30d, consecutiveFailures, lastError). Scheduler: every ~1h (dead: 1h, recently-failed: 2h). Metadata: every 6h for APIs unfetched 14d.
Change feed → changelog
GET /v1/change-feed?limit=20 # → pricing_change | docs_move | openapi_change | health_degradation | health_recovery | trust_change
Human view: reqistry.dev/changelog (hourly). Machine: poll the API, filter by your stack’s apiIds.
My Stack
Bookmarks + folders (stacks) are your monitored list. Each profile’s health history + trust delta shows per-API; the feed shows cross-API.
# push prefs — turn on saved_api_health + pricing_changes + trust_alerts
PATCH /v1/notifications/preferences { "savedApiHealth": true, "pricingChanges": true, "trustAlerts": true }Push payload reference
FCM data payloads the mobile app routes on. Key rule: apiSlug is the routable deep-link (/apis/:slug); uuid fields are not routable. New keys are additive — parsers must tolerate unknown fields and never rename existing ones.
Machine schemas: ReportUpdatePayload, SubmissionUpdatePayload in GET /openapi.json.