{"overall":"unknown","checkedAt":"2026-05-14T22:48:57.341Z","envs":[{"label":"web-prod","url":"https://pokerbase.app/status/json","state":"unknown","report":null,"probeError":"bad payload (HTTP 404)","probeLatencyMs":222},{"label":"api-prod","url":"https://api.pokerbase.app/status/json","state":"operational","report":{"overall":"operational","service":"@pokerbase/api","version":"1.3.3","env":"prod","uptimeSeconds":3813,"checkedAt":"2026-05-14T22:48:57.281Z","components":[{"name":"API server","state":"operational","details":{"nodeVersion":"v22.22.2","pid":30}},{"name":"Currency rates","state":"operational","details":{"lastRefreshAt":"2026-05-14T21:45:32.602Z"}},{"name":"Database","state":"operational","details":{"latencyMs":3}}],"recentChanges":[{"version":"1.3.3","date":"2026-05-14","bump":"patch","changes":["Prod API cutover: env, mobile endpoint, DBSession index (#674)"]},{"version":"1.3.2","date":"2026-05-13","bump":"patch","changes":["Revert \"fix dormancy logic to use heartbeat instead of session\""]},{"version":"1.3.1","date":"2026-05-13","bump":"patch","changes":["fix dormancy logic to use heartbeat instead of session"]},{"version":"1.3.0","date":"2026-05-13","bump":"minor","changes":["feat(api): configurable Loops cron schedules + admin trigger/queue endpoints"]},{"version":"1.2.0","date":"2026-05-12","bump":"minor","changes":["feat(api): venueBySlug / publicVenues queries + venueSlug calendar filter","fix(api): curated predicate counts the scraped catalogue; fix hidden filter on the public stop query","feat(analytics): register calendar.* Loops marketing events","chore(api-types): regenerate GraphQL types — publicTournamentStop + calendar filter enums","chore(web): point the local web app at the local API on `pnpm dev`","fix(api): load reflect-metadata in ts-node scripts (backfill-curated-stops was unrunnable)","feat(api): seed-venues script — link curated stops to first-class venues","feat(api): server-side region / game-type / buy-in-band filters on tournamentCalendar","feat(api): publicTournamentStop query — the public-safe /e/{stopRef} detail resolver","feat(api): DBVenue model + nullable venueId on tournament stops","feat(api): continentForCountryCode util for the public calendar region filter","feat(api): gate featuredTournamentStops on curated for anonymous callers","feat(api): curated flag on tournament stops + public-exposure gate"]},{"version":"1.1.1","date":"2026-05-12","bump":"patch","changes":["fix(api): reconcile pushes accurate session counts to Loops (#668)"]},{"version":"1.1.0","date":"2026-05-11","bump":"minor","changes":["feat(api): loops-reconcile-contacts one-off CLI","feat(api): schedule reconcileLoopsContacts cron at 01:30 UTC","feat(api): reconcileLoopsContacts cron logic — backfills unsynced contacts","feat(api): outbox worker stamps loopsContactCreatedAt on successful delivery","feat(api): register session.finished + session.logged Loops marketing events"]},{"version":"1.0.1","date":"2026-05-11","bump":"patch","changes":["fix(api): route Loops property pushes through the contact channel","fix(api): add a contact-property channel to the Loops outbox"]},{"version":"1.0.0","date":"2026-05-11","bump":"minor","changes":["feat(api): surface version and recent changelog on the /status page"]},{"version":"0.0.1","date":"2026-05-11","bump":"initial","changes":["Baseline release — automatic SemVer versioning enabled for the API."]}]},"probeLatencyMs":313},{"label":"web-dev","url":"https://dev.pokerbase.app/status/json","state":"operational","report":{"overall":"operational","service":"@pokerbase/web","version":"0.1.0","env":"production","uptimeSeconds":8851,"checkedAt":"2026-05-14T22:48:57.261Z","components":[{"name":"Web server","state":"operational","details":{"nodeVersion":"v22.22.2","pid":30}},{"name":"API reachability","state":"operational","details":{"latencyMs":94,"url":"https://dev.api.pokerbase.app/status/json"}}],"recentChanges":[{"version":"0.1.0","date":"2026-05-14","bump":"minor","changes":["Initial /status, /status/json, /status/og.svg, and /healthz endpoints."]}]},"probeLatencyMs":315},{"label":"api-dev","url":"https://dev.api.pokerbase.app/status/json","state":"operational","report":{"overall":"operational","service":"@pokerbase/api","version":"1.5.2","env":"dev","uptimeSeconds":1272,"checkedAt":"2026-05-14T22:48:57.182Z","components":[{"name":"API server","state":"operational","details":{"nodeVersion":"v22.22.2","pid":29}},{"name":"Currency rates","state":"operational","details":{"lastRefreshAt":"2026-05-14T22:27:54.261Z"}},{"name":"Database","state":"operational","details":{"latencyMs":3}}],"recentChanges":[{"version":"1.5.2","date":"2026-05-14","bump":"patch","changes":["fix(api): sanitizer was flattening Date values to {} — broke MCP timestamps (#686)"]},{"version":"1.5.1","date":"2026-05-14","bump":"patch","changes":["fix(api): prod boot crash — inline @pokerbase/branding status constants (#685)"]},{"version":"1.5.0","date":"2026-05-14","bump":"minor","changes":["feat: MCP API endpoint with key management — pro-gated, silent launch (#683)"]},{"version":"1.4.0","date":"2026-05-14","bump":"minor","changes":["feat: aggregated status pages (web /status + apps/statuspage) (#681)"]},{"version":"1.3.3","date":"2026-05-14","bump":"patch","changes":["Prod API cutover: env, mobile endpoint, DBSession index (#674)"]},{"version":"1.3.2","date":"2026-05-13","bump":"patch","changes":["Revert \"fix dormancy logic to use heartbeat instead of session\""]},{"version":"1.3.1","date":"2026-05-13","bump":"patch","changes":["fix dormancy logic to use heartbeat instead of session"]},{"version":"1.3.0","date":"2026-05-13","bump":"minor","changes":["feat(api): configurable Loops cron schedules + admin trigger/queue endpoints"]},{"version":"1.2.0","date":"2026-05-12","bump":"minor","changes":["feat(api): venueBySlug / publicVenues queries + venueSlug calendar filter","fix(api): curated predicate counts the scraped catalogue; fix hidden filter on the public stop query","feat(analytics): register calendar.* Loops marketing events","chore(api-types): regenerate GraphQL types — publicTournamentStop + calendar filter enums","chore(web): point the local web app at the local API on `pnpm dev`","fix(api): load reflect-metadata in ts-node scripts (backfill-curated-stops was unrunnable)","feat(api): seed-venues script — link curated stops to first-class venues","feat(api): server-side region / game-type / buy-in-band filters on tournamentCalendar","feat(api): publicTournamentStop query — the public-safe /e/{stopRef} detail resolver","feat(api): DBVenue model + nullable venueId on tournament stops","feat(api): continentForCountryCode util for the public calendar region filter","feat(api): gate featuredTournamentStops on curated for anonymous callers","feat(api): curated flag on tournament stops + public-exposure gate"]},{"version":"1.1.1","date":"2026-05-12","bump":"patch","changes":["fix(api): reconcile pushes accurate session counts to Loops (#668)"]}]},"probeLatencyMs":218}]}