> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withleaf.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration Reference

> Reference for every Leaf configuration option with defaults, allowed values, and behavior for data sync, boundaries, file conversion, operations, and images.

Every configuration option available at the API owner or Leaf user level. For how inheritance works and use-case recommendations, see [Configuration Overview](/configuration/overview).

## Quick reference

**[Data synchronization](#data-synchronization):** [`fieldsAutoSync`](#fieldsautosync), [`operationsAutoSync`](#operationsautosync), [`customDataSync`](#customdatasync), [`organizationDataSync`](#organizationdatasync), [`syncPartnerData`](#syncpartnerdata), [`machinesAutoSync`](#machinesautosync), [`implementsAutoSync`](#implementsautosync), [`operatorsAutoSync`](#operatorsautosync), [`productsAutoSync`](#productsautosync), [`zonesAutoSync`](#zonesautosync)

**[Field boundary management](#field-boundary-management):** [`automaticFixBoundary`](#automaticfixboundary), [`fieldsAttachIntersection`](#fieldsattachintersection), [`fieldsAutoMerge`](#fieldsautomerge), [`fieldsMergeIntersection`](#fieldsmergeintersection)

**[Machine file conversion](#machine-file-conversion):** [`cleanupStandardGeojson`](#cleanupstandardgeojson), [`cleanupRules`](#cleanuprules), [`originalOperationData`](#originaloperationdata), [`unitMeasurement`](#unitmeasurement), [`enableOutsideFieldGeojson`](#enableoutsidefieldgeojson), [`enableGeoparquetOutput`](#enablegeoparquetoutput), [`enablePolygonOutput`](#enablepolygonoutput), [`cropOptional`](#cropoptional), [`seedRateOptional`](#seedrateoptional)

**[Field operations](#field-operations):** [`fieldOperationCreation`](#fieldoperationcreation), [`operationsFilteredGeojson`](#operationsfilteredgeojson), [`operationsRemoveOutliers`](#operationsremoveoutliers), [`operationsOutliersLimit`](#operationsoutlierslimit), [`operationsMergeRange`](#operationsmergerange), [`operationsMergeRangeHarvested`](#operationsmergerangeharvested), [`operationsProcessingRange`](#operationsprocessingrange), [`splitOperationsByField`](#splitoperationsbyfield), [`splitOperationsByProvider`](#splitoperationsbyprovider), [`splitOperationsByTillType`](#splitoperationsbytilltype), [`summarizeByProductEntry`](#summarizebyproductentry), [`outOfStandardOperations`](#outofstandardoperations), [`enableOperationsSession`](#enableoperationssession)

**[Image generation](#field-operations-image-generation):** [`operationsImageCreation`](#operationsimagecreation), [`operationsImageAsGeoTiff`](#operationsimageAsgeotiff), [`operationsImageAttributeCreation`](#operationsimageattributecreation)

**[Irrigation](#irrigation):** [`irrigationProcessingRange`](#irrigationprocessingrange)

***

## Data synchronization

These configurations control what data Leaf pulls from connected providers.

### fieldsAutoSync

**Default:** `true`

Leaf automatically syncs field boundaries from connected providers. Set to `false` if you want to trigger syncs manually via the Manual Sync endpoint.

### operationsAutoSync

**Default:** `true`

Leaf automatically syncs operation data from connected providers.

### customDataSync

**Default:** `true`

When enabled, Leaf initially fetches field boundaries in `PREVIEW` mode instead of downloading full data for every provider field. You can then selectively enable specific fields for full processing. Useful for controlling costs when connecting accounts with thousands of fields.

### organizationDataSync

**Default:** `ALL`

Controls which organizations Leaf syncs data from when a provider account contains multiple organizations (common with John Deere). Set to `SELECTED_ONLY` to sync only organizations you explicitly mark as selected.

### syncPartnerData

**Default:** `false`

When `true`, Leaf fetches shared or partner data (e.g., John Deere Operations Center partnerships or AgLeader shared accounts) if the necessary permissions are granted. When `false`, only directly connected account data is fetched.

### machinesAutoSync

**Default:** `false`

Automatically sync machine data from connected providers.

### implementsAutoSync

**Default:** `false`

Automatically sync implement data from connected providers.

### operatorsAutoSync

**Default:** `false`

Automatically sync operator data from connected providers.

### productsAutoSync

**Default:** `false`

Automatically fetch input/product data (currently John Deere only).

### zonesAutoSync

**Default:** `false`

Automatically sync zone data from connected providers.

## Field boundary management

### automaticFixBoundary

**Default:** `true`

Leaf attempts to correct invalid field boundary geometries received from providers.

### fieldsAttachIntersection

**Default:** `0.01`

Minimum intersection percentage (0 to 100) required to link a field operation to a field. `0.01` is the smallest possible overlap.

### fieldsAutoMerge

**Default:** `false`

Automatically merge fields that meet the intersection threshold defined by `fieldsMergeIntersection`.

### fieldsMergeIntersection

**Default:** `0.01`

Minimum intersection percentage (0 to 100) for two fields to be merged. When met and `fieldsAutoMerge` is enabled, Leaf creates a new `MERGED` field. Original fields remain inactive for reference.

## Machine file conversion

### cleanupStandardGeojson

**Default:** `true`

Remove points marked as invalid from the `standardGeoJSON` output. Validity is determined by the `cleanupRules` configuration.

### cleanupRules

**Default:** See below.

Rules that determine which data points are valid. Points failing any applicable rule are removed from `standardGeoJSON` when `cleanupStandardGeojson` is enabled.

Default rules:

```json theme={null}
{
  "cleanupRules": {
    "harvestMoisture": [{"operator": "GT", "value": 0.0}, {"operator": "LT", "value": 100.0}],
    "tillageDepthActual": [{"operator": "GTE", "value": 0.0}],
    "recordingStatus": [{"operator": "EQ", "value": "On"}],
    "appliedRate": [{"operator": "GT", "value": 0.0}],
    "wetVolume": [{"operator": "GT", "value": 0.0}],
    "wetVolumePerArea": [{"operator": "GT", "value": 0.0}],
    "wetMass": [{"operator": "GT", "value": 0.0}],
    "seedRate": [{"operator": "GT", "value": 0.0}],
    "wetMassPerArea": [{"operator": "GT", "value": 0.0}],
    "crop": [{"operator": "NE", "value": "unknown"}],
    "products": [{"operator": "GTE", "value": 0.0}]
  }
}
```

Available operators: `GT` (greater than), `GTE` (greater than or equal), `LT` (less than), `LTE` (less than or equal), `EQ` (equal), `NE` (not equal).

<Warning>
  Setting custom `cleanupRules` replaces the entire default rule set. It does not merge with defaults. If you only specify a rule for `recordingStatus`, all other default rules stop applying. Include every rule you need.
</Warning>

### originalOperationData

**Default:** `true`

Include non-standard properties (original farm name, field name, grower, operation type) in file summary output.

### unitMeasurement

**Default:** varies by account.

Choose `METRIC`, `IMPERIAL`, or `DEFAULT` for summary, `standardGeoJSON`, and `filteredGeoJSON` outputs. `DEFAULT` uses the units from the original data source.

### enableOutsideFieldGeojson

**Default:** `false`

Capture machine file points that fall outside field boundaries when `splitOperationsByField` is active. Retrieve these points via the outsideFieldGeoJSON endpoint.

### enableGeoparquetOutput

**Default:** `false`

Generate vector point outputs in GeoParquet format in addition to GeoJSON. Faster processing and smaller files.

### enablePolygonOutput

**Default:** `false`

Output data in polygon format (in addition to point format). Polygon output is provided in GeoParquet only.

### cropOptional

**Default:** `required`

Make crop an optional property instead of required. Leaf passes through the original value without validation.

### seedRateOptional

**Default:** `required`

Make seedRate an optional property instead of required.

## Field operations

### fieldOperationCreation

**Default:** `true`

Allow Leaf to automatically create field operations by merging machine files that intersect with active field boundaries.

### operationsFilteredGeojson

**Default:** `true`

Generate filtered GeoJSON output for field operations.

### operationsRemoveOutliers

**Default:** `true`

Remove outlier points from harvest `filteredGeojson` based on the standard deviation threshold set by `operationsOutliersLimit`. Requires `operationsFilteredGeojson` to be enabled.

### operationsOutliersLimit

**Default:** `3`

Standard deviations from the mean for identifying harvest volume outliers.

### operationsMergeRange

**Default:** `5` days

Time window for grouping machine files into a single non-harvest field operation. Files within this range for the same field, crop, and operation type are merged.

### operationsMergeRangeHarvested

**Default:** `21` days

Time window for grouping machine files into a single harvest field operation.

### operationsProcessingRange

**Default:** typically 12 months.

Lookback period (in months) for fetching and processing operations data from providers.

### splitOperationsByField

**Default:** `true`

Create separate field operations for each field boundary that intersects with the machine data.

### splitOperationsByProvider

**Default:** `true`

Group machine files by provider when creating field operations. When `false`, data from different providers can merge into the same operation.

### splitOperationsByTillType

**Default:** `false`

Create separate field operations for each unique `tillType` in tillage data.

### summarizeByProductEntry

**Default:** `true`

Aggregate product application data in field operation summaries by product name, summing area and totalApplied, and averaging rate.

### outOfStandardOperations

**Default:** `false`

Allow processing of operations that don't meet standard validation criteria. These operations are marked as non-standard.

### enableOperationsSession

**Default:** `false`

Enable a session view of field operation data, grouped by operator, implement, and machines.

## Field operations image generation

### operationsImageCreation

**Default:** `false`

Generate images for field operations.

### operationsImageAsGeoTiff

**Default:** `false`

Generate field operation images in GeoTIFF format.

### operationsImageAttributeCreation

Control which image attributes are generated per operation type. Set individual attributes to `true` to generate their images. Available attributes vary by operation type (harvested, planted, applied, tillage) and include properties like `wetMassPerArea`, `seedRate`, `appliedRate`, `elevation`, `speed`, and others.

## Irrigation

### irrigationProcessingRange

**Default:** `12` months

Lookback period (in months) for fetching and processing irrigation activities from providers.
