docs / api-reference

API Reference

Stripe-grade endpoint documentation. Every parameter is statically typed, every error code is documented, and every snippet is copy-pasteable.

POST/api/public/v1/land-intel/assess

Assess a coordinate

The primary scoring endpoint. Computes the 0–100 Rootfifteen score for a single GPS point. Free, public, no API key required. Accepts both GET (query params) and POST (JSON body).

BODY PARAMETERS

latitudeFloat [-90.0, 90.0]required

WGS84 decimal degrees. Rounded to 6 fractional digits.

longitudeFloat [-180.0, 180.0]required

WGS84 decimal degrees.

modeEnum<"agriculture"|"infrastructure">optional

Selects the engine specification used to compute the score. Defaults to "agriculture".

buffer_metersInt [0, 5000]optional

Reserved for future use. Default 0 (point sample).

ERROR STATES

400
invalid_geometry
lat/long missing or outside the WGS84 valid range.
400
invalid_json
POST body is not valid JSON.
503
upstream_unavailable
An upstream observation feed is momentarily unreachable. Retry with backoff.
# Free · public · no API key required
curl -X POST https://rootfifteen.lovable.app/api/public/v1/land-intel/assess \
  -H "Content-Type: application/json" \
  -d '{
    "latitude": 19.0760,
    "longitude": 72.8777,
    "mode": "infrastructure"
  }'

# GET form (handy for quick checks):
curl "https://rootfifteen.lovable.app/api/public/v1/land-intel/assess?latitude=19.076&longitude=72.8777&mode=infrastructure"
RESPONSE · 200 OK
response.assess.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ "request_id": "req_3kx9aLp2qWmZb1c2", "status": "ok", "engine": "infrastructure.v2.8", "coordinates": { "latitude": 19.076, "longitude": 72.8777 }, "buffer_meters": 0, "mode": "infrastructure", "rootfifteen_score": 64.18, "classification": "MARGIN_CAUTION", "components": { "climate": 71.4, "terrain": 92.0, "georisk": 41.0 }, "observations": { "mean_temperature_c": 27.6, "annual_precipitation_mm": 2143.5, "elevation_m": 14, "seismic_events_5yr": 6, "seismic_max_magnitude_5yr": 4.7 }, "generated_at": "2026-06-25T09:14:22Z", "latency_ms": 412 }
docs / algorithm internals

A single integer. A deep pipeline.

Rootfifteen exposes one normalized 0–100 number. Under it sits a deterministic data-fusion of temporal optical biophysics, Synthetic Aperture Radar deformation arrays, and Digital Elevation Models.

FUSION EQUATION
R₁₅ = clamp(100 · σ(w_opt · Φ(NDVI, MSAVI, EVI) + w_sar · Ψ(σ⁰, Δϕ, v̄) + w_dem · Ω(slope, aspect, NDWI)), 0, 100)
Weights are learned per mode and locked under a tamper-evident model registry hash.
Agriculture Engine
agriculture.v3.2 · Biophysical Anomaly Detector
90 – 100
OPTIMAL_CANOPY
Peak chlorophyll saturation. NDVI ≥ 0.78 with MSAVI co-saturation. Baseline for parametric crop policies.
70 – 89
HEALTHY
Vigorous canopy with no temporal anomaly. Phenology tracks the 5-year mean inside ±1σ.
50 – 69
PERTURBATION
Crop stress signature. z-score < -1.4 on NDVI stack — a 14–21 day leading indicator.
40 – 49
ELEVATED_STRESS
Persistent multi-pass anomaly. Triggers pre-claim notification on insurance webhooks.
Below 40
DEGRADED
Severe degradation or single-event catastrophe. Fires automated parametric payout.
Infrastructure Engine
infrastructure.v2.8 · Georisk & Engineering
80 – 100
STABLE
Absolute ground stability. Flat grade (<5°), zero hydro-logging, sub-millimetric deformation velocity.
50 – 79
MARGIN_CAUTION
Steep slope (>15°) or mild ground deformation (1–5 mm/yr).
30 – 49
ENGINEERING_REVIEW
Compounding signals — moderate subsidence + adverse slope. Manual geotechnical review.
Below 30
CRITICAL_HAZARD
Active subsidence (>5 mm/yr) or rapid NDWI flash-flood anomalies. Auto-flagged on civil pipelines.
docs / engine advantage

An API versus a clipboard.

How Rootfifteen's continuous pipeline compares to the legacy field-and-rig methods still embedded in insurance underwriting and civil engineering compliance.

Dimension
Rootfifteen API
Legacy Agricultural
Legacy Engineering
Acquisition
Continuous temporal ML pipeline
Subjective manual field loss-adjusters
Intermittent geotechnical bore-hole sampling
Turnaround
~80ms per HTTP request
Weeks (claim → field visit → report)
Days to weeks per bore-hole campaign
Coverage
Global · 10m × 10m grid
Per-farm site visits
Discrete point samples
Temporal density
5–6 day revisit, 5-year coherent stack
On-demand only
One-shot at survey time
Cost / observation
Sub-cent at scale
Field visits + adjuster labor
Rig mobilization + drone permits
Basis risk
Algorithmically bounded · auditable hash
High administrative basis risk
Spatial extrapolation between samples
Output
Clean 0–100 score + JSON sub-matrices
PDF report
PDF + CAD attachments