Process Field
Field Processing
Process Field
Process a field boundary and auto-apply runoff mitigation measures
POST
Process Field
Submit a field boundary to run the full ESA runoff pipeline. The endpoint:Documentation Index
Fetch the complete documentation index at: https://docs.acreblitz.com/llms.txt
Use this file to discover all available pages before exploring further.
- 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_runoffmitigation measures based on slope, county relief points, and soil hydrologic group. - Optionally returns the full
epa_runoffmitigation options tree with selection state for the field/year.
(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.
Request Body
Required Fields
Your internal provider identifier, assigned by AcreBlitz.
Your internal field identifier. The (provider_field_id, provider_id) pair uniquely identifies a field across calls.
Your customer account identifier. Stored on the field record for downstream reporting.
Name of the field. Stored on the field record and displayed in compliance reports.
GeoJSON Feature with Polygon or MultiPolygon geometry in EPSG:4326 (WGS84).
Example
Optional Fields
Year for the annual mitigation record. Defaults to the current calendar year.
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.Response
Whether the pipeline completed end-to-end.
Internal AcreBlitz field UUID resolved from
provider_field_id.Echo of the provider’s field identifier from the request.
Soil analysis from USDA SSURGO.
null if the soil step failed (the rest of the pipeline still runs).| Field | Type | Description |
|---|---|---|
dominant_hydgrpdcd | string | null | Dominant hydrologic soil group (A, B, C, D, or compound like B/D) |
weighted_avg_slopegradwta | number | null | Area-weighted average slope (percent) |
hydgrpdcd_analysis | object | Per-HSG breakdown with area_sqm and percentage |
musym_analysis | object | Per-map-unit breakdown with muname, area_sqm, and percentage |
Counties intersecting the field. Each entry contains:
| Field | Type | Description |
|---|---|---|
geo_id | string | County GEOID (e.g. "0500000US19153") |
state_fips | string | State FIPS code |
county_fips | string | County FIPS code |
county_name | string | County name |
mitigation_points | integer | EPA county-relief mitigation points (0, 2, 3, or 6) |
PULA IDs intersecting the field boundary.
Sorted list of
epa_runoff sub_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
Each option contains:
Each sub-option contains:
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 |
| 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 |
| 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:| Field | Type | Description |
|---|---|---|
success | boolean | Whether this step succeeded |
error | string | null | Error message if the step failed |
data | object | null | Step-specific result payload |
Roll-up counters for the call.
| Field | Type | Description |
|---|---|---|
pula_count | integer | Number of PULAs intersecting the field |
soil_available | boolean | Whether soil data was retrieved successfully |
mitigations_applied_count | integer | Number of currently-applied epa_runoff sub-options |
total_points | integer | Sum of points across selected sub-options (only computed when include_mitigation_options=true) |
Examples
Minimal Request
Minimal Request
cURL
Full Response (without mitigation_options)
Full Response (without mitigation_options)
Mitigation Options Slice (`include_mitigation_options=true`)
Mitigation Options Slice (`include_mitigation_options=true`)
The When
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.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.Auto-Applied Mitigation Logic
Theauto_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) |
mitigation_points values, the lowest value is used. Existing measures are never duplicated — re-running the endpoint on the same field is safe.
Notes
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.
