Skip to main content
POST
Process Field
Submit a field boundary to run the full ESA runoff pipeline. The endpoint:
  1. Resolves or creates the field by (provider_field_id, provider_id).
  2. Persists the boundary and runs county/state intersection.
  3. Detects intersecting PULAs.
  4. Retrieves USDA SSURGO soil data (dominant hydrologic group, average slope).
  5. Auto-applies field-level epa_runoff mitigation measures based on slope, county relief points, and soil hydrologic group.
  6. 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.

Request Body

Required Fields

string
required
Your internal provider identifier, assigned by AcreBlitz.
string
required
Your internal field identifier. The (provider_field_id, provider_id) pair uniquely identifies a field across calls.
string
required
Your customer account identifier. Stored on the field record for downstream reporting.
string
required
Name of the field. Stored on the field record and displayed in compliance reports.
object
required
GeoJSON Feature with Polygon or MultiPolygon geometry in EPSG:4326 (WGS84).
Example

Optional Fields

integer
Year for the annual mitigation record. Defaults to the current calendar year.
boolean
default:"false"
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

boolean
required
Whether the pipeline completed end-to-end.
string
required
Internal AcreBlitz field UUID resolved from provider_field_id.
string
required
Echo of the provider’s field identifier from the request.
object
Soil analysis from USDA SSURGO. null if the soil step failed (the rest of the pipeline still runs).
array
Counties intersecting the field. Each entry contains:
array
required
PULA IDs intersecting the field boundary.
array
required
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.
array
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:Each option contains:Each sub-option contains:
object
required
Per-step status for the pipeline. Keys: county_state, pula_detection, soil_data, auto_mitigations, and (when requested) mitigation_options. Each value contains:
object
required
Roll-up counters for the call.

Examples

cURL
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.
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.

Auto-Applied Mitigation Logic

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: 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.

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.