curl --request GET 'https://esa.acreblitz.com/api/v2/applications/019953f8-8c00-7000-8000-000000000002/compliance?include_geometry=false' \
--header "X-API-Key: $ACREBLITZ_API_KEY"
{
"success": true,
"retrieved_at": "2026-10-02T14:00:00.000Z",
"application": {
"application_event_id": "019953f8-8c00-7000-8000-000000000002",
"application_id": "north-application-2026-10-05",
"account_id": "your-account",
"provider_group_id": "work-order-42",
"provider_field_id": "north-field",
"field_name": "North field",
"application_date": "2026-10-05",
"application_method": "Broadcast-Ground",
"products": [{ "epa_number": "123-456", "product_name": "Example product", "rate": 16, "rate_unit": "fl oz/acre", "pest": ["weeds"] }],
"crop": ["corn"],
"pest": ["weeds"],
"processing_status": "completed",
"updated_at": "2026-10-02T13:00:00.000Z",
"portal_locked_at": null,
"compliance": {
"scope": "saved_requirements_and_current_selections",
"requirements": [
{
"mitigation_type": "epa_runoff",
"required": true,
"required_points": 3,
"updated_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_claimed_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_reasons": [],
"drift_buffers": null
},
{
"mitigation_type": "epa_drift_ground",
"required": true,
"required_points": null,
"updated_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_claimed_at": null,
"runoff_exemption_reasons": null,
"drift_buffers": null
}
],
"runoff": [
{
"mitigation_type": "epa_runoff",
"year": 2026,
"required": true,
"required_points": 3,
"earned_points": 0,
"gap": 3,
"status": "not_met",
"credited_measures": [],
"selected_measures": [],
"runoff_exemption_claimed_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_reasons": [],
"issues": []
}
],
"drift": {
"configuration": {
"version": 4,
"computed_at": "2026-10-02T13:00:00.000Z",
"summary": {
"wind_directional": { "mitigatable": { "distance": 240, "unit": "feet", "mitigation_type": "epa_drift_ground" }, "non_mitigatable": null },
"omni_directional": null,
"downslope": null
},
"requirements": [
{
"config_label": "product:123-456",
"source": "product",
"product_epa": "123-456",
"limitation_id": null,
"buffers_esa": {
"anchor": "field_edge_inward",
"can_mitigate": true,
"exclusion_categories": [],
"buffer_types": {
"wind_directional": {
"methods": [{ "type": "ground", "distance": 240, "unit": "feet", "mitigation_type": "epa_drift_ground" }]
}
}
},
"method": "ground",
"raw_distance_ft": 240,
"has_wind_speed_ranges": false,
"has_rate_ranges": false,
"rate_normalized": { "value": 16, "unit": "fl_oz_per_acre" },
"rate_raw": { "rate": 16, "rate_unit": "fl oz/acre" },
"rate_resolution": "not_applicable",
"ai_info": null
}
]
},
"reductions": [],
"adjuvant_results": null,
"setup": { "normalized_application_method": "ground", "gpa": 10, "droplet_size": "coarse", "boom_height": "low" },
"weather": { "wind_direction_deg": null, "wind_speed_mph": null, "temperature_f": null, "humidity_percent": null, "observed_at": null, "source": "forecast" },
"last_computation": null
},
"last_assessment": {
"calculated_at": "2026-10-02T13:00:00.000Z",
"status": "not_met",
"processing_complete": true,
"issues": [
{ "code": "LIMITATIONS_REVIEW_REQUIRED", "message": "Review the returned PULA text for conditions not evaluated automatically" },
{ "code": "DRIFT_CONDITIONS_UNVERIFIED", "message": "Buffer placement and application weather have not been verified" }
],
"products": [
{
"epa_number": "123-456",
"product_name": "Example product",
"pest": ["weeds"],
"product_status": "Active",
"esa_required": true,
"pulas": [
{
"pula_id": 12345,
"event_name": "Example PULA",
"status": "effective",
"effective_date": "2026-01-01",
"codes": "EX1",
"limitations": [
{
"limitation_id": 67890,
"code": "EX1",
"limitation": "Illustrative limitation text. Read the returned text for the actual restriction.",
"mitigation_options": []
}
]
}
]
}
]
}
}
}
}
Compliance information
Get application compliance
Retrieve saved requirements, current runoff credits, and full drift configuration for an application
GET
/
api
/
v2
/
applications
/
{application_event_id}
/
compliance
curl --request GET 'https://esa.acreblitz.com/api/v2/applications/019953f8-8c00-7000-8000-000000000002/compliance?include_geometry=false' \
--header "X-API-Key: $ACREBLITZ_API_KEY"
{
"success": true,
"retrieved_at": "2026-10-02T14:00:00.000Z",
"application": {
"application_event_id": "019953f8-8c00-7000-8000-000000000002",
"application_id": "north-application-2026-10-05",
"account_id": "your-account",
"provider_group_id": "work-order-42",
"provider_field_id": "north-field",
"field_name": "North field",
"application_date": "2026-10-05",
"application_method": "Broadcast-Ground",
"products": [{ "epa_number": "123-456", "product_name": "Example product", "rate": 16, "rate_unit": "fl oz/acre", "pest": ["weeds"] }],
"crop": ["corn"],
"pest": ["weeds"],
"processing_status": "completed",
"updated_at": "2026-10-02T13:00:00.000Z",
"portal_locked_at": null,
"compliance": {
"scope": "saved_requirements_and_current_selections",
"requirements": [
{
"mitigation_type": "epa_runoff",
"required": true,
"required_points": 3,
"updated_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_claimed_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_reasons": [],
"drift_buffers": null
},
{
"mitigation_type": "epa_drift_ground",
"required": true,
"required_points": null,
"updated_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_claimed_at": null,
"runoff_exemption_reasons": null,
"drift_buffers": null
}
],
"runoff": [
{
"mitigation_type": "epa_runoff",
"year": 2026,
"required": true,
"required_points": 3,
"earned_points": 0,
"gap": 3,
"status": "not_met",
"credited_measures": [],
"selected_measures": [],
"runoff_exemption_claimed_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_reasons": [],
"issues": []
}
],
"drift": {
"configuration": {
"version": 4,
"computed_at": "2026-10-02T13:00:00.000Z",
"summary": {
"wind_directional": { "mitigatable": { "distance": 240, "unit": "feet", "mitigation_type": "epa_drift_ground" }, "non_mitigatable": null },
"omni_directional": null,
"downslope": null
},
"requirements": [
{
"config_label": "product:123-456",
"source": "product",
"product_epa": "123-456",
"limitation_id": null,
"buffers_esa": {
"anchor": "field_edge_inward",
"can_mitigate": true,
"exclusion_categories": [],
"buffer_types": {
"wind_directional": {
"methods": [{ "type": "ground", "distance": 240, "unit": "feet", "mitigation_type": "epa_drift_ground" }]
}
}
},
"method": "ground",
"raw_distance_ft": 240,
"has_wind_speed_ranges": false,
"has_rate_ranges": false,
"rate_normalized": { "value": 16, "unit": "fl_oz_per_acre" },
"rate_raw": { "rate": 16, "rate_unit": "fl oz/acre" },
"rate_resolution": "not_applicable",
"ai_info": null
}
]
},
"reductions": [],
"adjuvant_results": null,
"setup": { "normalized_application_method": "ground", "gpa": 10, "droplet_size": "coarse", "boom_height": "low" },
"weather": { "wind_direction_deg": null, "wind_speed_mph": null, "temperature_f": null, "humidity_percent": null, "observed_at": null, "source": "forecast" },
"last_computation": null
},
"last_assessment": {
"calculated_at": "2026-10-02T13:00:00.000Z",
"status": "not_met",
"processing_complete": true,
"issues": [
{ "code": "LIMITATIONS_REVIEW_REQUIRED", "message": "Review the returned PULA text for conditions not evaluated automatically" },
{ "code": "DRIFT_CONDITIONS_UNVERIFIED", "message": "Buffer placement and application weather have not been verified" }
],
"products": [
{
"epa_number": "123-456",
"product_name": "Example product",
"pest": ["weeds"],
"product_status": "Active",
"esa_required": true,
"pulas": [
{
"pula_id": 12345,
"event_name": "Example PULA",
"status": "effective",
"effective_date": "2026-01-01",
"codes": "EX1",
"limitations": [
{
"limitation_id": 67890,
"code": "EX1",
"limitation": "Illustrative limitation text. Read the returned text for the actual restriction.",
"mitigation_options": []
}
]
}
]
}
]
}
}
}
}
Read compliance information after an ESA check or after an applicator changes selections in the portal. The response combines saved application requirements with current mitigation selections. Every request reads fresh data and returns
The example uses illustrative product requirements. Use your returned configuration and labels for the actual application.
Cache-Control: no-store.
string
required
Application-event reference returned by an ESA check. Use this UUID, not your submitted
application_id.boolean
default:"false"
Use
true to include saved buffer_features and any PULA boundaries included in the last assessment. Only literal true and false are accepted. This does not compute new buffer or treatable-area boundaries.Response fields
The response containssuccess, retrieved_at, and application. Group retrieval returns this same application object for each member.
Field under application | Meaning |
|---|---|
application_event_id, application_id | API application reference and your submitted application identifier. |
account_id, provider_group_id, provider_field_id, field_name | Account, group, and field context. Optional identifiers can be null. |
application_date, application_method, products, crop, pest | Current saved application inputs. |
processing_status, updated_at, portal_locked_at | Application processing state, last application update, and portal lock timestamp. Child selections can change independently of updated_at. |
compliance.scope | Always saved_requirements_and_current_selections. |
compliance.requirements[] | Every saved mitigation requirement, including mitigation_type, effective required, nullable required_points, updated_at, runoff exemption selections (plus exempt and label_required_points for EPA runoff), and any requirement-specific drift_buffers. |
compliance.runoff[] | Current runoff scoring for each saved runoff requirement. EPA runoff and Enlist remain separate. |
compliance.drift | Full saved drift configuration, current reductions and selections, setup, weather, and historical computation details. |
compliance.last_assessment | Last saved ESA assessment: calculated_at, status, processing_complete, issues, and products[] with their PULA limitations. Null when no assessment was saved. |
Product PULA limitations
compliance.last_assessment.products[] returns each product’s saved epa_number, product_name, pest, product_status, esa_required, and pulas[]. Each PULA has pula_id, event_name, status, effective_date, codes, and limitations[] with limitation_id, code, limitation text, and mitigation_options. With include_geometry=true, a PULA also includes its saved geometry when the original check requested it. These fields match the ESA check product limitations.
Limitations come from the last ESA check; this GET does not search for new or changed PULAs. Resubmit the check to refresh them. An application without a saved assessment has last_assessment: null.
Runoff points and applicability
See Understanding compliance determinations for runoff and drift scoring, setup violations, overall status, and when to refresh a result. Each runoff entry includesmitigation_type, year, required, exempt, required_points, label_required_points, earned_points, gap, status, credited_measures, selected_measures, exemption claims, and issues.
required_pointsis the effective requirement: zero for an accepted EPA runoff exemption, otherwise the saved target.label_required_pointsretains the saved label/PULA target, including for exempt applications. Null means unresolved; it does not mean zero.earned_pointsis recalculated from current selections using active definitions, product restrictions, soil eligibility, selection limits, and aggregation caps.credited_measuresexplains the credits counted.selected_measuresalso includes selections that did not qualify for credit, with source, implementation date, and notes.gapis the larger of zero and required minus earned points. It is null when required points are unresolved.yearcomes fromapplication_date. Applications on the same field in the same year share runoff selections, but their product restrictions and required points can differ.statusismet,not_met, orindeterminatefor runoff within this scope. For non-exempt requirements, a missing soil result, unknown product, incomplete application processing, unresolved requirement, unsupported mitigation type, or unverified non-EPA applicability keeps itindeterminate. An accepted EPA exemption returnsmetwithout requiring runoff scoring inputs.
issues contains code strings: RUNOFF_APPLICABILITY_UNVERIFIED, RUNOFF_REQUIREMENT_UNRESOLVED, SOIL_UNAVAILABLE, UNKNOWN_PRODUCT, APPLICATION_PROCESSING_INCOMPLETE, or UNSUPPORTED_MITIGATION.
EPA runoff is required by default, including older unanswered records saved with required: false. An explicit portal exemption (required: false with an evaluation timestamp) returns required: false, exempt: true, status: "met", required_points: 0, and gap: 0. runoff_exemption_claimed_at and runoff_exemption_reasons preserve the selection; timestamped legacy exemptions without reason codes are supported. Choosing “None apply” restores required: true and scoring against the saved target. The requirements[] and runoff[] entries use the same effective requirement.
Portal selections appear on the next GET without resubmitting a check. EPA exemptions do not exempt Enlist, other runoff systems, or drift. RUNOFF_APPLICABILITY_UNVERIFIED is no longer emitted for EPA runoff; it can still describe an optional non-EPA runoff requirement. Historical last_assessment values and completed bulk results are unchanged until a new check is run.
Drift configuration and details
compliance.drift.configuration returns the complete saved configuration, or null when none exists. Inspect its version; current V2 checks produce version 4 with:
computed_atandsummaryforwind_directional,omni_directional, anddownslopebuffers. Summaries separatemitigatableandnon_mitigatabledistances.requirements[]with source (productorpula_limitation),product_epa,config_label,limitation_idwhen available, matched method, andraw_distance_ft.- Complete
buffers_esafor each requirement, including anchor, exclusion categories, mitigation eligibility, methods, distance units, droplet/boom tiers, wind-speed ranges, rate ranges, and mitigation types when configured. - Raw and normalized rates, rate resolution, active-ingredient information, and flags indicating conditional wind/rate tiers when available.
reductions[] returns current saved totals and selected mitigations by drift type. Each selection includes its label, definition points and reduction percentage, custom value, and implementation notes. These totals are recorded selections; they are not newly verified buffer reductions.
setup includes normalized application method, GPA, droplet size, and boom height. weather includes wind direction, wind speed, temperature, humidity, observation timestamp, and source. Wind direction is where wind comes from, clockwise from north; speed is mph, temperature is °F, and humidity is percent. adjuvant_results contains the saved adjuvant evaluation, or null.
last_computation contains the last application-time computation’s timestamp, overall status, separate drift_status, inputs, reductions, manual claims, feature counts/scope, per-edge details, and product breakdown, or null. It can predate current selections or weather. drift_status: "met" means the supplied setup satisfied the configured drift rules when applied within the calculated treatable area, even if a buffer remained. This is a saved result, not a fresh drift assessment. Older computations have a null drift_status until recomputed. With include_geometry=true, buffer_features contains saved portal features, or null; it is separate from that historical computation.
Fresh reads and saved assessments
This GET request does not rerun an ESA check, fetch new soil, refresh product/PULA requirements, or recompute drift placement. There is no new overallcompliance.status; read current runoff status separately from last_assessment.status. A current runoff met result does not establish overall application compliance. Missing assessment/configuration data remains null or empty, including while processing is pending or failed.
To refresh the saved requirements, resubmit the application to ESA check. To calculate buffers using application-time weather and receive buffer/treatable-area boundaries, use compute drift buffers. No-ESA checks that did not create an application-event reference cannot be retrieved here. An expired or locked portal does not prevent an authorized provider from reading an existing application; archived fields are excluded.
curl --request GET 'https://esa.acreblitz.com/api/v2/applications/019953f8-8c00-7000-8000-000000000002/compliance?include_geometry=false' \
--header "X-API-Key: $ACREBLITZ_API_KEY"
{
"success": true,
"retrieved_at": "2026-10-02T14:00:00.000Z",
"application": {
"application_event_id": "019953f8-8c00-7000-8000-000000000002",
"application_id": "north-application-2026-10-05",
"account_id": "your-account",
"provider_group_id": "work-order-42",
"provider_field_id": "north-field",
"field_name": "North field",
"application_date": "2026-10-05",
"application_method": "Broadcast-Ground",
"products": [{ "epa_number": "123-456", "product_name": "Example product", "rate": 16, "rate_unit": "fl oz/acre", "pest": ["weeds"] }],
"crop": ["corn"],
"pest": ["weeds"],
"processing_status": "completed",
"updated_at": "2026-10-02T13:00:00.000Z",
"portal_locked_at": null,
"compliance": {
"scope": "saved_requirements_and_current_selections",
"requirements": [
{
"mitigation_type": "epa_runoff",
"required": true,
"required_points": 3,
"updated_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_claimed_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_reasons": [],
"drift_buffers": null
},
{
"mitigation_type": "epa_drift_ground",
"required": true,
"required_points": null,
"updated_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_claimed_at": null,
"runoff_exemption_reasons": null,
"drift_buffers": null
}
],
"runoff": [
{
"mitigation_type": "epa_runoff",
"year": 2026,
"required": true,
"required_points": 3,
"earned_points": 0,
"gap": 3,
"status": "not_met",
"credited_measures": [],
"selected_measures": [],
"runoff_exemption_claimed_at": "2026-10-02T13:00:00.000Z",
"runoff_exemption_reasons": [],
"issues": []
}
],
"drift": {
"configuration": {
"version": 4,
"computed_at": "2026-10-02T13:00:00.000Z",
"summary": {
"wind_directional": { "mitigatable": { "distance": 240, "unit": "feet", "mitigation_type": "epa_drift_ground" }, "non_mitigatable": null },
"omni_directional": null,
"downslope": null
},
"requirements": [
{
"config_label": "product:123-456",
"source": "product",
"product_epa": "123-456",
"limitation_id": null,
"buffers_esa": {
"anchor": "field_edge_inward",
"can_mitigate": true,
"exclusion_categories": [],
"buffer_types": {
"wind_directional": {
"methods": [{ "type": "ground", "distance": 240, "unit": "feet", "mitigation_type": "epa_drift_ground" }]
}
}
},
"method": "ground",
"raw_distance_ft": 240,
"has_wind_speed_ranges": false,
"has_rate_ranges": false,
"rate_normalized": { "value": 16, "unit": "fl_oz_per_acre" },
"rate_raw": { "rate": 16, "rate_unit": "fl oz/acre" },
"rate_resolution": "not_applicable",
"ai_info": null
}
]
},
"reductions": [],
"adjuvant_results": null,
"setup": { "normalized_application_method": "ground", "gpa": 10, "droplet_size": "coarse", "boom_height": "low" },
"weather": { "wind_direction_deg": null, "wind_speed_mph": null, "temperature_f": null, "humidity_percent": null, "observed_at": null, "source": "forecast" },
"last_computation": null
},
"last_assessment": {
"calculated_at": "2026-10-02T13:00:00.000Z",
"status": "not_met",
"processing_complete": true,
"issues": [
{ "code": "LIMITATIONS_REVIEW_REQUIRED", "message": "Review the returned PULA text for conditions not evaluated automatically" },
{ "code": "DRIFT_CONDITIONS_UNVERIFIED", "message": "Buffer placement and application weather have not been verified" }
],
"products": [
{
"epa_number": "123-456",
"product_name": "Example product",
"pest": ["weeds"],
"product_status": "Active",
"esa_required": true,
"pulas": [
{
"pula_id": 12345,
"event_name": "Example PULA",
"status": "effective",
"effective_date": "2026-01-01",
"codes": "EX1",
"limitations": [
{
"limitation_id": 67890,
"code": "EX1",
"limitation": "Illustrative limitation text. Read the returned text for the actual restriction.",
"mitigation_options": []
}
]
}
]
}
]
}
}
}
}
Errors
An absent or other-provider application, or one on an archived field, returns404 APPLICATION_NOT_FOUND. A malformed application UUID, invalid query value, or unknown query parameter returns 422 INVALID_REQUEST.
All routes can also return authentication, validation, rate-limit, and dependency errors. Keep X-Request-ID when present.
