SalaryLabs Data Source Worker
Worker version: 1.0.0 · Tax year: 2026 · KV namespace: 877e7a5af42043afb3e2b50415d5dd92
Read endpoints (public)
GET /facts.json
Aggregated canonical data (mirrors public/facts.json)
GET /facts.json/debug
Debug /facts.json step-by-step (no auth)
GET /facts/health
Freshness status per metric
GET /facts/provenance/{key}
Full provenance chain for one metric
GET /facts/audit.json
Public refresh-run audit log (D1, 503 if not provisioned)
GET /facts/cross-validate?year=2026
BLS vs SSA vs IRS consistency report (D1)
GET /facts/cpi?from=1970&to=2026
Historical CPI time-series (BLS Annual Average CPI-U, D1)
GET /facts/cpi/decade/{startYear}
10-year CPI slice (e.g. 1980 → 1989). For guide embeds.
GET /facts/cpi/cumulative?from=1970&to=2026
Cumulative inflation factor between two years. For inflation calculators.
GET /facts/bls/latest?months=12
Latest BLS monthly data (CPI-U, unemployment, employment) from BLS Public Data API v2. D1.
GET /facts/treasury/latest
Latest Treasury Fiscal Data API rates (Bills/Notes/Bonds/TIPS/FRN yields, risk-free benchmark). KV.
GET /facts/history/{year}
Combined federal tax + FICA + FLSA + retirement for one year (D1)
GET /api/ai-cite/health
Daily AI citation counter snapshot
Write endpoints
POST /api/ai-cite
Log AI citation referral. Body: {url, referrer, intent, engine}
POST /admin/refresh
Manually trigger full refresh (Authorization: Bearer $ADMIN_TOKEN required)
GET /admin/debug-kv
KV access probe (internal diagnostic)
POST /admin/rebuild
Refresh + push auto-generated.ts to GitHub + trigger Pages rebuild (Authorization: Bearer $ADMIN_TOKEN required)
POST /admin/trigger-pages-rebuild
Trigger Cloudflare Pages rebuild only (skip KV/GitHub refresh). Use when only Pages needs refresh.
Cron trigger
0 5 * * 1 — every Monday 05:00 UTC. Refetches all sources, writes to KV with SHA-256 provenance.
Attribution
SalaryLabs canonical data is MIT (formulas) + CC0 1.0 (data). Every reuse must include "by SalaryLabs" + canonical URL. See salarylabs.site/methodology/attribution/.