Use this file to discover all available pages before exploring further.
Submit a field boundary to run the full ESA runoff pipeline. The endpoint:
Resolves or creates the field by (provider_field_id, provider_id).
Persists the boundary and runs county/state intersection.
Detects intersecting PULAs.
Retrieves USDA SSURGO soil data (dominant hydrologic group, average slope).
Auto-applies field-level epa_runoff mitigation measures based on slope, county relief points, and soil hydrologic group.
Optionally returns the full epa_runoff mitigation options tree with selection state for the field/year.
This endpoint is idempotent on (provider_field_id, provider_id) — resubmitting the same field updates the existing record rather than creating a duplicate, and previously-applied mitigation measures are not re-inserted.
When true, the response includes the full epa_runoff mitigation options tree (categories → options → sub-options) with a selected flag on each sub-option indicating whether it is currently applied to the field for the given year, plus a total_points tally.
Sorted list of epa_runoffsub_option_ids currently applied to the field for the given year. Includes any auto-applied measures from this call as well as any pre-existing measures.
Full epa_runoff mitigation tree (only present when include_mitigation_options=true). An array of categories, each with nested options and sub-options.Each category contains:
Field
Type
Description
id
integer
Category ID
code
string
Category code
label
string
Display label
description
string | null
Optional description
max_select
integer | null
Maximum sub-options selectable in this category
sort_order
integer
Display order
options
array
Nested options
Each option contains:
Field
Type
Description
id
integer
Option ID
code
string
Option code
label
string
Display label
description
string | null
Optional description
has_sub_options
boolean
Whether this option has selectable sub-options
max_select
integer | null
Maximum sub-options selectable in this option
helper_text
string | null
UX helper text
helper_link
string | null
UX helper URL
sub_options
array
Nested sub-options
Each sub-option contains:
Field
Type
Description
id
integer
Sub-option ID (matches entries in mitigations_applied)
code
string | null
Sub-option code
label
string
Display label
points
integer | null
Mitigation points awarded if selected
hydrologic_soil_group
string | null
HSG filter (A_B, C_D, or null for all)
helper_text
string | null
UX helper text
helper_link
string | null
UX helper URL
selected
boolean
Whether this sub-option is currently applied to the field for the given year
implementation_date
string | null
Date the measure was applied (only when selected=true)
notes
string | null
Notes recorded with the measure (only when selected=true)
Per-step status for the pipeline. Keys: county_state, pula_detection, soil_data, auto_mitigations, and (when requested) mitigation_options. Each value contains:
The mitigation_options array contains the full epa_runoff tree (6 categories, ~30 options, ~50+ sub-options). Each sub-option carries a selected flag — true if its id appears in mitigations_applied. The slice below shows just the County-based mitigation relief option to illustrate the structure; your response will include all categories.
{ "id": 2, "code": "field_characteristics", "label": "Field Characteristics", "description": "Natural characteristics of the field that reduce runoff", "max_select": null, "sort_order": 2, "options": [ { "id": 13, "code": "county_based_mitigation_relief", "label": "County-based mitigation relief", "description": "Pesticide runoff value based off of the runoff vulnerability map and County List", "has_sub_options": true, "max_select": 1, "helper_text": "EPA analyzed the runoff vulnerability of counties...", "helper_link": "https://www.epa.gov/pesticides/mitigation-menu-measure-descriptions#pesticide-runoff", "sort_order": 1, "sub_options": [ { "id": 12, "label": "Pesticide runoff vulnerability - high", "points": 0, "hydrologic_soil_group": null, "selected": true, "implementation_date": "2026-04-29", "notes": "Using available county points from Warren - 0 points." }, { "id": 11, "label": "Pesticide runoff vulnerability - low", "points": 3, "hydrologic_soil_group": null, "selected": false, "implementation_date": null, "notes": null } // ... additional sub-options (id 9, 10) omitted ] } // ... additional options in this category omitted ]}// ... 5 more categories omitted (Application Parameters, In-Field Mitigation Measures,// Edge-of-Field Mitigation Measures, Adjacent-to-Field Mitigation Measures, Other)
When total_points in summary is computed (only when include_mitigation_options=true), it is the sum of points across every sub-option where selected=true.
The auto_mitigations step inspects the field’s soil, slope, and county data and inserts EPA-approved field-level credits into the annual runoff mitigation record:
Trigger
Sub-option ID
Description
Always applied
24
Digital tracking credit
Slope < 3%
17
Naturally low slope or flat fields
County mitigation_points = 0
12
Pesticide runoff vulnerability — high
County mitigation_points = 2
10
Pesticide runoff vulnerability — medium
County mitigation_points = 3
11
Pesticide runoff vulnerability — low
County mitigation_points = 6
9
Pesticide runoff vulnerability — very low
Soil HSG = A
27
Predominantly sandy soils (HSG A)
Soil HSG = B or A/B
28
Moderately sandy soils (HSG B)
When a county has multiple mitigation_points values, the lowest value is used. Existing measures are never duplicated — re-running the endpoint on the same field is safe.
Idempotency: The (provider_field_id, provider_id) pair makes the endpoint idempotent. Resubmitting the same field updates the existing record and replaces its boundary, but previously-applied mitigation measures are preserved.
Fail-forward soil step: If USDA SSURGO is unreachable, soil_data is null and the soil_data step is marked failed, but the rest of the pipeline still runs. Soil-dependent auto-credits (sub-options 17, 27, 28) are simply skipped in that case.
Selection state: Use mitigations_applied for a flat list of currently-applied sub-option IDs, or include_mitigation_options=true to see the full tree with each sub-option’s selected flag. The selection set is the same in both views.
GeoJSON Format: The field_boundary must be a GeoJSON Feature with a Polygon or MultiPolygon geometry in EPSG:4326 (WGS84). MultiPolygon is supported for fields with excluded areas or multiple sections.