GET /api/spectrogram | Today's PNG (auto-range, Jet palette) — Cache-Control: max-age=60, ETag |
GET /api/spectrogram?date=YYYY-MM-DD | Archived PNG — max-age=86400, ETag |
GET /api/spectrogram?palette=plasma&db_min=-110&db_max=-65 | Re-render with explicit palette / dB range |
GET /api/spectrogram/latest | 302 → most recent complete day's PNG (ETag on redirect, max-age=3600) |
GET /api/spectrogram/meta | Today's JSON metadata (db_min/db_max, row count, per-row noise floor) |
GET /api/spectrogram/meta?date=YYYY-MM-DD | Metadata for a past date |
GET /api/spectrogram/meta/latest | 302 → metadata for the most recent complete day |
GET /api/spectrogram/list | JSON list of available dates (newest first) |
GET /api/spectrogram/rowspectrum?row=N | Full spectrum (all bins, dBFS) for row N of today's data |
&date=YYYY-MM-DD | Row spectrum for a past date |
&rolling=1 | Row spectrum from the rolling 24-hour window |