curl --request POST 'https://esa-v2.acreblitz.com/api/v2/esa-check' \
--header "X-API-Key: $ACREBLITZ_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"provider_id": "your-provider",
"account_id": "your-account",
"provider_field_id": "north-field",
"provider_group_id": "work-order-42",
"field_name": "North field",
"application_id": "north-application-2026-10-05",
"application_method": "Broadcast-Ground",
"application_date": "2026-10-05",
"field_boundary": {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-95.404,
43.102
],
[
-95.392,
43.102
],
[
-95.392,
43.11
],
[
-95.404,
43.11
],
[
-95.404,
43.102
]
]
]
}
},
"products": [
{
"epa_number": "7969-500",
"product_name": "Liberty Ultra",
"rate": 32,
"rate_unit": "fl oz/ac",
"rate_unit_state": "L"
}
],
"crop": [
"Corn"
],
"pest": [
"Waterhemp"
],
"gpa": 15,
"droplet_size": "VC",
"boom_height": "low",
"include_soil_analysis": true,
"include_mitigations": true
}'
{
"success": true,
"esa_required": true,
"account_id": "your-account",
"provider_id": "your-provider",
"application_event_id": "019953f8-8c00-7000-8000-000000000002",
"compliance": {
"version": 1,
"scope": "requirements_and_gaps",
"calculated_at": "2026-10-05T14:00:00.000Z",
"processing_complete": true,
"status": "indeterminate",
"soil": {
"status": "reused"
},
"issues": [
{
"code": "DRIFT_CONDITIONS_UNVERIFIED",
"message": "Buffer placement and application weather have not been verified"
}
]
}
}
ESA checks
ESA check
Assess ESA and PULA requirements for one pesticide application
POST
/
api
/
v2
/
esa-check
curl --request POST 'https://esa-v2.acreblitz.com/api/v2/esa-check' \
--header "X-API-Key: $ACREBLITZ_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"provider_id": "your-provider",
"account_id": "your-account",
"provider_field_id": "north-field",
"provider_group_id": "work-order-42",
"field_name": "North field",
"application_id": "north-application-2026-10-05",
"application_method": "Broadcast-Ground",
"application_date": "2026-10-05",
"field_boundary": {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-95.404,
43.102
],
[
-95.392,
43.102
],
[
-95.392,
43.11
],
[
-95.404,
43.11
],
[
-95.404,
43.102
]
]
]
}
},
"products": [
{
"epa_number": "7969-500",
"product_name": "Liberty Ultra",
"rate": 32,
"rate_unit": "fl oz/ac",
"rate_unit_state": "L"
}
],
"crop": [
"Corn"
],
"pest": [
"Waterhemp"
],
"gpa": 15,
"droplet_size": "VC",
"boom_height": "low",
"include_soil_analysis": true,
"include_mitigations": true
}'
{
"success": true,
"esa_required": true,
"account_id": "your-account",
"provider_id": "your-provider",
"application_event_id": "019953f8-8c00-7000-8000-000000000002",
"compliance": {
"version": 1,
"scope": "requirements_and_gaps",
"calculated_at": "2026-10-05T14:00:00.000Z",
"processing_complete": true,
"status": "indeterminate",
"soil": {
"status": "reused"
},
"issues": [
{
"code": "DRIFT_CONDITIONS_UNVERIFIED",
"message": "Buffer placement and application weather have not been verified"
}
]
}
}
Assess ESA and PULA requirements for one pesticide application.
Request
string
required
Your assigned provider identifier. It must match the API key.
string
required
Your customer account identifier.
string
required
Field name shown in the portal and compliance reports.
string
required
Your application identifier, unique within this provider and account. Resubmit this application to refresh its assessment.
string
required
Supported method: for example
Broadcast-Ground, Broadcast-Air, Drone, or Airblast. Unsupported values return 422. Liberty Ultra is ground only.string
required
A valid calendar date in
YYYY-MM-DD format.object
required
GeoJSON Feature containing a Polygon or MultiPolygon in EPSG:4326. Rings must be closed; self-intersections are rejected. Maximum 5,000 positions across the field boundary.
object[]
required
One to 100 product objects. See the product fields below.
string[]
required
Crop names. An explicit empty array is accepted.
string
Your field identifier, used for compliance report requests. If omitted or null, the application identifier is used.
string
Your work-order or job identifier. Optional for a single check; required for bulk submissions.
string[]
Default pests for products without their own
pest list. Every product must have a nonempty effective pest list.string
Optional applicator or grower email address; nullable.
number
Positive spray gallons per acre. Required to normalize rates expressed per
100 Gal or 100 Cu Ft; nullable.string
ASABE category or code:
EF, VF, F, M, C, VC, EC, or UC. Unsupported values return 422; nullable.string
low or high for ground applications; nullable.Product fields
| Field | Required | Meaning |
|---|---|---|
product_name | Yes | Product name. |
rate | Yes | Nonnegative application rate. |
rate_unit | Yes | Rate unit, for example fl oz/ac or lb/ac. |
epa_number | No | EPA registration number; may be omitted or null for an adjuvant. |
rate_unit_state | No | L, S, D, liquid, solid, or dry; resolves ambiguous ounce units. |
row_spacing_inches | No | Positive row spacing; required for row-length rate units. |
pest | No | Nonempty product pest list; overrides the application pest default. |
Response options
boolean
default:"false"
Include PULA field-boundary data when available.
boolean
default:"false"
Include analysis under
compliance.soil.analysis when soil is available.boolean
default:"false"
Include available options under
compliance.mitigation_options.number
default:"1"
PULA search buffer distance, clamped to 0–10 miles.
Response
success describes request handling. Read compliance.status, processing_complete, soil, runoff, drift, and issues for the assessment. compliance.scope is requirements_and_gaps; its version is the assessment format version, independent of the API URL version.
Product results include esa_required, registration status, effective pests, and PULA limitations. For ESA-required checks, the response also includes an opaque application_event_id and a mitigation_portal_url when available.
mitigation_portal_url_expires_at is the signed-link expiration in signed-link mode and null in token mode. expires_at describes the field portal’s availability, which can have a different lifetime. Use the returned link unchanged.
Repeat a check
The provider/account/application identity is reused. Resubmitting updates the saved assessment when ESA processing is required. A no-ESA early return does not update an existing saved application. A changed field boundary refreshes its derived data. Background soil enrichment requires a new check to refresh the assessment. The example response below shows selected fields only; values depend on product, field, and review state.curl --request POST 'https://esa-v2.acreblitz.com/api/v2/esa-check' \
--header "X-API-Key: $ACREBLITZ_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"provider_id": "your-provider",
"account_id": "your-account",
"provider_field_id": "north-field",
"provider_group_id": "work-order-42",
"field_name": "North field",
"application_id": "north-application-2026-10-05",
"application_method": "Broadcast-Ground",
"application_date": "2026-10-05",
"field_boundary": {
"type": "Feature",
"properties": {},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-95.404,
43.102
],
[
-95.392,
43.102
],
[
-95.392,
43.11
],
[
-95.404,
43.11
],
[
-95.404,
43.102
]
]
]
}
},
"products": [
{
"epa_number": "7969-500",
"product_name": "Liberty Ultra",
"rate": 32,
"rate_unit": "fl oz/ac",
"rate_unit_state": "L"
}
],
"crop": [
"Corn"
],
"pest": [
"Waterhemp"
],
"gpa": 15,
"droplet_size": "VC",
"boom_height": "low",
"include_soil_analysis": true,
"include_mitigations": true
}'
{
"success": true,
"esa_required": true,
"account_id": "your-account",
"provider_id": "your-provider",
"application_event_id": "019953f8-8c00-7000-8000-000000000002",
"compliance": {
"version": 1,
"scope": "requirements_and_gaps",
"calculated_at": "2026-10-05T14:00:00.000Z",
"processing_complete": true,
"status": "indeterminate",
"soil": {
"status": "reused"
},
"issues": [
{
"code": "DRIFT_CONDITIONS_UNVERIFIED",
"message": "Buffer placement and application weather have not been verified"
}
]
}
}
Errors
Processing can return409 DUPLICATE_FIELD, FIELD_OWNERSHIP_CONFLICT, DUPLICATE_APPLICATION, APPLICATION_FIELD_CONFLICT, PROCESSING_CONFLICT, FIELD_CHANGED, or APPLICATION_CHANGED. Signed portal setup can return 503 PORTAL_SAS_UNCONFIGURED. A workflow can also return 422 UNSUPPORTED_APPLICATION_METHOD; HTTP input validation normally catches this first as INVALID_REQUEST. See assessment issues for incomplete evidence returned with HTTP 200.
All routes can also return authentication, validation, rate-limit, and dependency errors. Use the error catalog and examples to choose a retry or correction. Keep X-Request-ID when present.
