{"service":"VeldScan Backend","status":"ok","scan_cache":{"enabled":true,"dir":"/data/tiles/scan_cache","fusion_ttl_days":10.0,"algo":"anomaly_fusion_v75_metal_radiation_eggs","fusion_entries":682,"fusion_bytes":834080028,"write":"atomic_tmp_replace","prune":"lazy_on_put"},"sensor_cache":{"enabled":true,"dir":"/data/tiles/raw_cache","lock":"flock_per_sensor_fingerprint","lock_timeout_sec":45.0,"fingerprint":"normalized_polygon+pad_m","sensors":{"optical":{"entries":2558,"ttl_days":10.0,"integrated":true},"sar":{"entries":3486,"ttl_days":18.0,"integrated":true},"sar_lband":{"entries":3734,"ttl_days":365.0,"integrated":false},"thermal":{"entries":3487,"ttl_days":18.0,"integrated":true},"dem":{"entries":0,"ttl_days":45.0,"integrated":true},"dem_ot1":{"entries":3763,"ttl_days":45.0,"integrated":false},"natl_cir":{"entries":1244,"ttl_days":365.0,"integrated":false}}},"endpoints":{"POST /scan":"Vegetation-index heatmap (query: source, colormap)","POST /scan-readiness":"Free pre-scan season/cloud quality hint (no credit charge)","POST /scan-anomaly":"Anomaly scan (cropmarks/geometry) -> heatmap + analytical report","POST /scan-sar":"Radar sub-surface disturbance scan -> heatmap + report","POST /scan-insar":"Dual-date radar change (subsidence proxy) -> heatmap + report","POST /scan-thermal":"Thermal anomaly scan -> cool-warm heatmap + report","POST /scan-4d":"Vegetation before/after change (baseline=modern|historical) -> heatmap + dated previews","POST /ai/analyze-point":"VeldScan AI interpretation of one anomaly point (package-gated, no free chat)","POST /ai/analyze-scan":"VeldScan AI full-scan terrain / detector route plan","POST /ai/design-3d":"Inspect 3D AI volume architecture (JSON scene, not absolute depth)","GET /packs":"Credit packages for purchase","GET /account":"Account balance (X-Device-Token)","POST /account/google":"Link Google account so credits follow across devices","POST /account/recovery/issue":"Create/rotate backup recovery code","POST /account/recovery/restore":"Restore credits on a new device with backup code","POST /account/unlock":"Owner unlock passphrase","GET /announcements":"Active in-app notices (lang=)","POST /announcements":"Owner: create in-app notice","POST /announcements/seen":"Mark notice as read","POST /announcements/{id}/deactivate":"Owner: deactivate notice","POST /account/gift/create":"Owner: generate one-time gift credits (1-20)","POST /account/gift/redeem":"Redeem a one-time gift code","POST /checkout":"Stripe Checkout session for a pack (legacy)","POST /purchase/play":"Redeem Google Play Billing purchase → credits","POST /webhooks/play-rtdn":"Google Play RTDN (voided/refund clawback)","POST /purchase/play/clawback":"Owner: claw back refunded Play order","POST /stripe/webhook":"Stripe payment webhook"}}