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

bash
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.

bash
# 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.

api_healthapiId, apiSlug, state (down|recovered), alternativeApiIds[] — audience: saved + folder-member devices
new_api / trendingapiId, apiSlug, categoryId (+ trending=true)
price_changeapiId, apiSlug, previous, current
trust_alertapiId, apiSlug, previousScore, score
weekly_digestapiIds[] (uuids, open compare)
community_reminderaction (submit|explore|home)
report_updateapiId, apiSlug, reportId, status — tap opens the reported API page
submission_updatesubmissionId, status, approvedApiId + apiSlug when approved/duplicate resolves to a published API — tap opens the live API page; matches GET /v1/submissions/mine

Machine schemas: ReportUpdatePayload, SubmissionUpdatePayload in GET /openapi.json.

Placeholders for paid monitoring (data stays free): Pro adds email/push for your stacks + export. Free keeps browsing + feed polling. See pricing.