How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.
Field operations are what you get when Leaf takes converted machine files and spatially allocates them to field boundaries. A field operation represents a real-world task — planting, harvesting, spraying, or tillage — performed on a specific field.This page explains how files become operations and what data is available on each operation.
Field operations are created only when fieldOperationCreation is enabled.A single field activity often spans many machine files. A corn harvest on one field might be represented by dozens or even hundreds of files from the provider. Leaf’s auto-merge process handles this automatically:
Leaf groups machine files by operation type (planted, harvested, applied, tillage) and time proximity.
The grouped files are spatially intersected with field boundaries.
Files that overlap the same field and represent the same activity are merged into a single field operation.
This works for both provider-connected files and manually uploaded files.
Field boundaries are required. Without boundaries, Leaf converts machine files and produces file-level summaries but cannot create field operations. See Uploading Boundaries or Managing Fields for creating and managing boundaries.
The merge process runs continuously. Operations are created or updated each time new files arrive or field boundary changes are made. Merging is computationally expensive and can take time for large datasets.
For each processed operation, Leaf produces:Standard GeoJSON (/operations/{id}/standardGeojson) — The merged point-level data in Leaf’s standard schema. This is the full dataset.Filtered GeoJSON (/operations/{id}/filteredGeojson) — Filtered output is controlled by operationsFilteredGeojson, but the endpoint behavior is not just a simple enabled-or-404 switch. When a dedicated filtered output exists, this endpoint returns it. If not, Leaf can still return the cleaned standard GeoJSON instead. Low-speed points (< 0.5 m/s) are removed, and for harvest operations statistical outliers can also be removed.Images V2 (/operations/{id}/imagesV2) — Generated from the filtered GeoJSON when data filtering is enabled. Uses a fixed color ramp with 7 quantile-based classes. Returns extent and legend metadata alongside each image. If the filtered GeoJSON fails, images fall back to the standard GeoJSON.GeoTIFF Images (/operations/{id}/geotiffImages) — Georeferenced TIFF versions of the property maps. Requires both operationsFilteredGeojson and operationsImageAsGeoTiff to be enabled.Summary (/operations/{id}/summary) — Aggregate statistics and a geometry.Units (/operations/{id}/units) — Map of property names to their unit strings.
Harvest and planting summaries include a varieties array with per-variety breakdowns of area, totals, and rates. Application summaries include a products array with per-product name, type (Component or Carrier), rate, total applied, and area.
Machine file summary — Statistics from a single file’s point data, processed and cleaned by Leaf. Useful for understanding individual file contents.Operation summary — Statistics from all files merged to a field boundary. Represents the complete picture of what happened on that field. This is what most applications should use.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Leaf Documentation","colors":{"primary":"#00886b","light":"#07C983","dark":"#00886b"},"logo":{"light":"https://mintcdn.com/leaf-3ed5893a/to88HRn_L8ezHDrX/logo/light.png?fit=max\u0026auto=format\u0026n=to88HRn_L8ezHDrX\u0026q=85\u0026s=8ce24e422c9bf087336b65351eb51f4c","dark":"https://mintcdn.com/leaf-3ed5893a/to88HRn_L8ezHDrX/logo/dark.png?fit=max\u0026auto=format\u0026n=to88HRn_L8ezHDrX\u0026q=85\u0026s=7c5b24b746c2c02501ac6fea486c3a51","href":"https://withleaf.io/"},"favicon":"https://mintcdn.com/leaf-3ed5893a/to88HRn_L8ezHDrX/favicon.png?fit=max\u0026auto=format\u0026n=to88HRn_L8ezHDrX\u0026q=85\u0026s=a435f8f25c1ed914dc32b03c92d844cd","appearance":{"default":"light"},"background":{"color":{"light":"#ffffff","dark":"#18191a"}},"navbar":{"links":[{"icon":"github","href":"https://status.withleaf.io","label":"API Status"},{"href":"https://dashboard.withleaf.io","label":"Log In"}],"primary":{"type":"button","label":"Request Demo","href":"https://withleaf.io/account/get-a-demo"}},"footer":{"socials":{"instagram":"https://www.instagram.com/withleaf_","linkedin":"https://www.linkedin.com/company/leaf-agriculture","x":"https://twitter.com/LeafAgriculture","youtube":"https://www.youtube.com/@leafagriculture7933"}},"seo":{"metatags":{"robots":"noindex"},"indexing":"navigable"},"fonts":{"heading":{"family":"Satoshi","source":"https://cdn.fontshare.com/wf/P2LQKHE6KA6ZP4AAGN72KDWMHH6ZH3TA/ZC32TK2P7FPS5GFTL46EU6KQJA24ZYDB/7AHDUZ4A7LFLVFUIFSARGIWCRQJHISQP.woff2","format":"woff2"},"body":{"family":"Inter"}},"integrations":{"mixpanel":{"projectToken":"2aa8982706dc53402184ef7b6e555d32"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"About Us","icon":"circle-user","href":"https://withleaf.io/company"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"leaf-3ed5893a","hasAudioNarration":false,"actualSubdomain":"leaf-3ed5893a","customDomains":["docs.withleaf.io"],"gitSource":{"type":"github","owner":"leaf-agriculture","repo":"docs-v2","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea55583593d9bacc3250df","collectionId":"c5ff0339-6713-4bbb-8aca-078af8401d84","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea55583593d9bacc3250df"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aea55583593d9bacc3250df","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Documentation","count":58},{"language":"default","tag":"API Reference","count":25},{"language":"default","tag":"Guides","count":21},{"language":"default","tag":"Tutorials","count":16},{"language":"default","tag":"Connecting Providers","count":16},{"language":"default","tag":"Beta","count":10},{"language":"default","tag":"Data Hierarchy","count":9},{"language":"default","tag":"OEM and Provider Integrations","count":8},{"language":"default","tag":"Machine Data","count":6},{"language":"default","tag":"Resources","count":6}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"help@withleaf.io","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles/globals.css","content":".delete,.get,.patch,.post,.put{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase;font-family:monospace}.get{background-color:#00866d;color:#fff}.patch,.post{background-color:#edc043;color:#fff}.delete,.put{background-color:#f25925;color:#fff}.put{background-color:#edc043}"}],"page":{"pagePath":"machine-data/field-operations","slug":"/machine-data/field-operations","pageMetadata":{"title":"Field Operations","sidebarTitle":"Field Operations","description":"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.","href":"/machine-data/field-operations"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Field operations are what you get when Leaf takes converted machine files and spatially allocates them to field boundaries. A field operation represents a real-world task — planting, harvesting, spraying, or tillage — performed on a specific field.`}),`\n`,_jsx(_components.p,{children:`This page explains how files become operations and what data is available on each operation.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-files-become-operations`,children:`How files become operations`}),`\n`,_jsxs(_components.p,{children:[`Field operations are created only when `,_jsx(_components.code,{children:`fieldOperationCreation`}),` is enabled.`]}),`\n`,_jsx(_components.p,{children:`A single field activity often spans many machine files. A corn harvest on one field might be represented by dozens or even hundreds of files from the provider. Leaf’s auto-merge process handles this automatically:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Leaf groups machine files by operation type (`,_jsx(_components.code,{children:`planted`}),`, `,_jsx(_components.code,{children:`harvested`}),`, `,_jsx(_components.code,{children:`applied`}),`, `,_jsx(_components.code,{children:`tillage`}),`) and time proximity.`]}),`\n`,_jsx(_components.li,{children:`The grouped files are spatially intersected with field boundaries.`}),`\n`,_jsx(_components.li,{children:`Files that overlap the same field and represent the same activity are merged into a single field operation.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This works for both provider-connected files and manually uploaded files.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Field boundaries are required. Without boundaries, Leaf converts machine files and produces file-level summaries but cannot create field operations. See `,_jsx(_components.a,{href:`/fields/uploading-boundaries`,children:`Uploading Boundaries`}),` or `,_jsx(_components.a,{href:`/fields/managing-fields`,children:`Managing Fields`}),` for creating and managing boundaries.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`merge-timing`,children:`Merge timing`}),`\n`,_jsx(_components.p,{children:`The merge process runs continuously. Operations are created or updated each time new files arrive or field boundary changes are made. Merging is computationally expensive and can take time for large datasets.`}),`\n`,_jsx(Heading,{level:`2`,id:`operation-structure`,children:`Operation structure`}),`\n`,_jsxs(_components.p,{children:[`A field operation (`,_jsx(_components.code,{children:`GET /operations/{id}`}),`) contains:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`Unique operation ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`leafUserId`})}),_jsx(_components.td,{children:`Owner Leaf user`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`apiOwnerUsername`})}),_jsx(_components.td,{children:`API owner`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`type`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`planted`}),`, `,_jsx(_components.code,{children:`harvested`}),`, `,_jsx(_components.code,{children:`applied`}),`, or `,_jsx(_components.code,{children:`tillage`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`startTime`}),` / `,_jsx(_components.code,{children:`endTime`})]}),_jsx(_components.td,{children:`Time range of the operation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`updatedTime`})}),_jsx(_components.td,{children:`Last time the operation was modified`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`files`})}),_jsx(_components.td,{children:`List of machine file IDs that were merged into this operation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fields`})}),_jsxs(_components.td,{children:[`List of field objects with `,_jsx(_components.code,{children:`id`}),` and `,_jsx(_components.code,{children:`coverage`}),` (percentage of the field boundary covered by the operation)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`providers`})}),_jsx(_components.td,{children:`List of source providers`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`operation-data-outputs`,children:`Operation data outputs`}),`\n`,_jsx(_components.p,{children:`For each processed operation, Leaf produces:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Standard GeoJSON`}),` (`,_jsx(_components.code,{children:`/operations/{id}/standardGeojson`}),`) — The merged point-level data in Leaf’s standard schema. This is the full dataset.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Filtered GeoJSON`}),` (`,_jsx(_components.code,{children:`/operations/{id}/filteredGeojson`}),`) — Filtered output is controlled by `,_jsx(_components.code,{children:`operationsFilteredGeojson`}),`, but the endpoint behavior is not just a simple enabled-or-404 switch. When a dedicated filtered output exists, this endpoint returns it. If not, Leaf can still return the cleaned standard GeoJSON instead. Low-speed points (\u003c 0.5 m/s) are removed, and for harvest operations statistical outliers can also be removed.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Images V2`}),` (`,_jsx(_components.code,{children:`/operations/{id}/imagesV2`}),`) — Generated from the filtered GeoJSON when data filtering is enabled. Uses a fixed color ramp with 7 quantile-based classes. Returns extent and legend metadata alongside each image. If the filtered GeoJSON fails, images fall back to the standard GeoJSON.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`GeoTIFF Images`}),` (`,_jsx(_components.code,{children:`/operations/{id}/geotiffImages`}),`) — Georeferenced TIFF versions of the property maps. Requires both `,_jsx(_components.code,{children:`operationsFilteredGeojson`}),` and `,_jsx(_components.code,{children:`operationsImageAsGeoTiff`}),` to be enabled.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Summary`}),` (`,_jsx(_components.code,{children:`/operations/{id}/summary`}),`) — Aggregate statistics and a geometry.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Units`}),` (`,_jsx(_components.code,{children:`/operations/{id}/units`}),`) — Map of property names to their unit strings.`]}),`\n`,_jsx(Heading,{level:`2`,id:`operation-summary`,children:`Operation summary`}),`\n`,_jsx(_components.p,{children:`The summary is a GeoJSON Feature containing aggregate properties and a MultiPolygon geometry representing the operation’s spatial coverage.`}),`\n`,_jsx(Heading,{level:`3`,id:`properties-available-by-operation-type`,children:`Properties available by operation type`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`All operation types`}),` include: `,_jsx(_components.code,{children:`operationType`}),`, `,_jsx(_components.code,{children:`startTime`}),`, `,_jsx(_components.code,{children:`endTime`}),`, `,_jsx(_components.code,{children:`totalArea`}),`, `,_jsx(_components.code,{children:`totalDistance`}),`, `,_jsx(_components.code,{children:`elevation`}),`, `,_jsx(_components.code,{children:`machinery`}),`, `,_jsx(_components.code,{children:`originalOperationType`}),`, `,_jsx(_components.code,{children:`originalOperationData`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Harvest`}),` adds: `,_jsx(_components.code,{children:`crop`}),`, `,_jsx(_components.code,{children:`harvestMoisture`}),`, `,_jsx(_components.code,{children:`wetMass`}),`, `,_jsx(_components.code,{children:`totalWetMass`}),`, `,_jsx(_components.code,{children:`wetMassPerArea`}),`, `,_jsx(_components.code,{children:`wetVolume`}),`, `,_jsx(_components.code,{children:`totalWetVolume`}),`, `,_jsx(_components.code,{children:`wetVolumePerArea`}),`, `,_jsx(_components.code,{children:`dryMass`}),`, `,_jsx(_components.code,{children:`totalDryMass`}),`, `,_jsx(_components.code,{children:`dryMassPerArea`}),`, `,_jsx(_components.code,{children:`dryVolume`}),`, `,_jsx(_components.code,{children:`totalDryVolume`}),`, `,_jsx(_components.code,{children:`dryVolumePerArea`}),`, `,_jsx(_components.code,{children:`varieties`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`wetVolume`}),`, `,_jsx(_components.code,{children:`wetVolumePerArea`}),`, `,_jsx(_components.code,{children:`dryVolume`}),`, and `,_jsx(_components.code,{children:`dryVolumePerArea`}),` are not available when the crop is sugarcane.`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Planting`}),` adds: `,_jsx(_components.code,{children:`crop`}),`, `,_jsx(_components.code,{children:`seedRate`}),`, `,_jsx(_components.code,{children:`totalPlanted`}),`, `,_jsx(_components.code,{children:`varieties`}),`, `,_jsx(_components.code,{children:`singulation`}),`, `,_jsx(_components.code,{children:`downForce`}),`, `,_jsx(_components.code,{children:`skips`}),`, `,_jsx(_components.code,{children:`doubles`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Application`}),` adds: `,_jsx(_components.code,{children:`appliedRate`}),`, `,_jsx(_components.code,{children:`totalApplied`}),`, `,_jsx(_components.code,{children:`products`}),`, `,_jsx(_components.code,{children:`tankMix`}),`, `,_jsx(_components.code,{children:`crop`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Tillage`}),` adds: `,_jsx(_components.code,{children:`tillType`}),`, `,_jsx(_components.code,{children:`tillageDepthActual`}),`, `,_jsx(_components.code,{children:`tillageDepthTarget`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`stat-properties`,children:`Stat properties`}),`\n`,_jsxs(_components.p,{children:[`Most numeric properties in the summary include `,_jsx(_components.code,{children:`avg`}),`, `,_jsx(_components.code,{children:`min`}),`, `,_jsx(_components.code,{children:`max`}),`, and `,_jsx(_components.code,{children:`unit`}),`. Total properties include `,_jsx(_components.code,{children:`value`}),` and `,_jsx(_components.code,{children:`unit`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`machinery`,children:`Machinery`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`machinery`}),` array contains objects with `,_jsx(_components.code,{children:`name`}),`, `,_jsx(_components.code,{children:`type`}),` (`,_jsx(_components.code,{children:`machine`}),` or `,_jsx(_components.code,{children:`implement`}),`), `,_jsx(_components.code,{children:`serialNumber`}),` (when available), and `,_jsx(_components.code,{children:`brand`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`varieties-and-products`,children:`Varieties and products`}),`\n`,_jsxs(_components.p,{children:[`Harvest and planting summaries include a `,_jsx(_components.code,{children:`varieties`}),` array with per-variety breakdowns of area, totals, and rates. Application summaries include a `,_jsx(_components.code,{children:`products`}),` array with per-product name, type (`,_jsx(_components.code,{children:`Component`}),` or `,_jsx(_components.code,{children:`Carrier`}),`), rate, total applied, and area.`]}),`\n`,_jsx(Heading,{level:`2`,id:`machine-file-summary-vs-operation-summary`,children:`Machine file summary vs. operation summary`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Machine file summary`}),` — Statistics from a single file’s point data, processed and cleaned by Leaf. Useful for understanding individual file contents.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Operation summary`}),` — Statistics from all files merged to a field boundary. Represents the complete picture of what happened on that field. This is what most applications should use.`]}),`\n`,_jsx(Heading,{level:`2`,id:`configurations-that-affect-operations`,children:`Configurations that affect operations`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Configuration`}),_jsx(_components.th,{children:`Effect`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationsFilteredGeojson`})}),_jsx(_components.td,{children:`Enable filtered GeoJSON and V2 images`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationsRemoveOutliers`})}),_jsx(_components.td,{children:`Enable/disable outlier removal on harvest data`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationsOutliersLimit`})}),_jsx(_components.td,{children:`Standard deviation threshold for outlier removal (default: 3)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationsImageAsGeoTiff`})}),_jsx(_components.td,{children:`Enable GeoTIFF image generation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fieldOperationCreation`})}),_jsx(_components.td,{children:`Enable/disable automatic creation of field operations from merged machine files`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationsMergeRange`})}),_jsx(_components.td,{children:`Time window for grouping files into the same operation`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`operationsMergeOverlap`})}),_jsx(_components.td,{children:`Minimum spatial overlap required to merge a file into a field`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`what-to-do-next`,children:`What to do next`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/machine-data/sample-output`,children:`Sample Output`}),` — Full example responses for files and operations.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/machine-data/units`,children:`Units`}),` — Unit reference table for all numeric properties.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/machine-data/file-conversion`,children:`File Conversion`}),` — Details on the file-level processing pipeline.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/api-reference/operations`,children:`API Reference: Operations`}),` — Full endpoint reference for field operations.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Field Operations","sidebarTitle":"Field Operations","description":"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.","href":"/machine-data/field-operations"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How files become operations","slug":"how-files-become-operations","depth":2,"children":[]},{"title":"Merge timing","slug":"merge-timing","depth":2,"children":[]},{"title":"Operation structure","slug":"operation-structure","depth":2,"children":[]},{"title":"Operation data outputs","slug":"operation-data-outputs","depth":2,"children":[]},{"title":"Operation summary","slug":"operation-summary","depth":2,"children":[{"title":"Properties available by operation type","slug":"properties-available-by-operation-type","depth":3,"children":[]},{"title":"Stat properties","slug":"stat-properties","depth":3,"children":[]},{"title":"Machinery","slug":"machinery","depth":3,"children":[]},{"title":"Varieties and products","slug":"varieties-and-products","depth":3,"children":[]}]},{"title":"Machine file summary vs. operation summary","slug":"machine-file-summary-vs-operation-summary","depth":2,"children":[]},{"title":"Configurations that affect operations","slug":"configurations-that-affect-operations","depth":2,"children":[]},{"title":"What to do next","slug":"what-to-do-next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"leaf-3ed5893a","siteName":"Leaf Documentation","title":"Field Operations - Leaf Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-03-24T13:10:53.867Z","gitLastModified":"2026-03-24T13:08:04.000Z","originalFileLocation":"machine-data/field-operations.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Leaf Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Field Operations - Leaf Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Leaf Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.withleaf.io/machine-data/field-operations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://leaf-3ed5893a.mintlify.app/_mintlify/api/og/v2?division=Machine+Data\u0026amp;title=Field+Operations\u0026amp;description=How+Leaf+merges+converted+machine+files+into+field+operations%3A+the+auto-merge+process%2C+operation+structure%2C+summaries%2C+filtered+GeoJSON%2C+and+operation+images.\u0026amp;theme=df28ea0c62b563cc8e5aedca\u0026amp;signature=fa330b883b217792cdb4aa2b933f4a02def553104b33c3e029d578cb5eee92ee\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Field Operations - Leaf Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://leaf-3ed5893a.mintlify.app/_mintlify/api/og/v2?division=Machine+Data\u0026amp;title=Field+Operations\u0026amp;description=How+Leaf+merges+converted+machine+files+into+field+operations%3A+the+auto-merge+process%2C+operation+structure%2C+summaries%2C+filtered+GeoJSON%2C+and+operation+images.\u0026amp;theme=df28ea0c62b563cc8e5aedca\u0026amp;signature=fa330b883b217792cdb4aa2b933f4a02def553104b33c3e029d578cb5eee92ee\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/leaf-3ed5893a/IA--hOPjRaQAEcyW/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Leaf Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00886b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.withleaf.io/machine-data/field-operations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/machine-data/field-operations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.withleaf.io/#organization\",\"name\":\"Leaf Documentation\",\"url\":\"https://docs.withleaf.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/leaf-3ed5893a/to88HRn_L8ezHDrX/logo/light.png?fit=max\u0026auto=format\u0026n=to88HRn_L8ezHDrX\u0026q=85\u0026s=8ce24e422c9bf087336b65351eb51f4c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.withleaf.io#website\",\"name\":\"Leaf Documentation\",\"url\":\"https://docs.withleaf.io\",\"publisher\":{\"@id\":\"https://docs.withleaf.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.withleaf.io/machine-data/field-operations#webpage\",\"url\":\"https://docs.withleaf.io/machine-data/field-operations\",\"name\":\"Field Operations\",\"description\":\"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.\",\"dateModified\":\"2026-03-24T13:08:04.000Z\",\"isPartOf\":{\"@id\":\"https://docs.withleaf.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.withleaf.io/machine-data/field-operations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.withleaf.io/machine-data/field-operations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Machine Data\",\"item\":\"https://docs.withleaf.io/machine-data/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Field Operations\",\"item\":\"https://docs.withleaf.io/machine-data/field-operations\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.withleaf.io/machine-data/field-operations#article\",\"headline\":\"Field Operations\",\"name\":\"Field Operations\",\"description\":\"How Leaf merges converted machine files into field operations: the auto-merge process, operation structure, summaries, filtered GeoJSON, and operation images.\",\"url\":\"https://docs.withleaf.io/machine-data/field-operations\",\"mainEntityOfPage\":{\"@id\":\"https://docs.withleaf.io/machine-data/field-operations#webpage\"},\"dateModified\":\"2026-03-24T13:08:04.000Z\",\"publisher\":{\"@id\":\"https://docs.withleaf.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.withleaf.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Leaf Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Leaf Documentation","nav":{"global":{"anchors":[{"anchor":"About Us","icon":"circle-user","href":"https://withleaf.io/company"}]},"tabs":[{"tab":"Home","icon":"house","pages":[{"title":"Home","href":""}]},{"tab":"Documentation","icon":"book-open","pages":[{"group":"Getting Started","pages":[{"title":"Welcome to Leaf","sidebarTitle":"Welcome","href":"/getting-started/welcome"},{"title":"Quickstart","sidebarTitle":"Quickstart","href":"/getting-started/quickstart"},{"title":"Core Concepts","sidebarTitle":"Core Concepts","href":"/getting-started/core-concepts"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/getting-started/authentication"}]},{"group":"Configuration","pages":[{"title":"Configurations","sidebarTitle":"Overview","href":"/configuration/overview"},{"title":"Configuration Reference","sidebarTitle":"Reference","href":"/configuration/reference"}]},{"group":"Alerts","pages":[{"title":"Alerts Overview","sidebarTitle":"Overview","href":"/alerts/overview"},{"title":"Alert Events","sidebarTitle":"Events","href":"/alerts/events"},{"title":"Alert Authentication","sidebarTitle":"Authentication","href":"/alerts/authentication"}]},{"group":"Leaf Users","pages":[{"title":"Leaf Users","sidebarTitle":"Overview","href":"/leaf-users/overview"}]},{"group":"Connecting Providers","pages":[{"title":"Provider Authentication","sidebarTitle":"Overview","href":"/providers/overview"},{"title":"John Deere","sidebarTitle":"John Deere","href":"/providers/john-deere"},{"title":"Climate FieldView","sidebarTitle":"Climate FieldView","href":"/providers/climate-fieldview"},{"title":"CLAAS","sidebarTitle":"CLAAS","href":"/providers/claas"},{"title":"CNHi (AFS Connect)","sidebarTitle":"CNHI (AFS Connect - Legacy)","href":"/providers/cnhi"},{"title":"CNHI FieldOps","sidebarTitle":"CNHI FieldOps","href":"/providers/cnhi-fieldops"},{"title":"Trimble","sidebarTitle":"Trimble","href":"/providers/trimble"},{"title":"AgLeader","sidebarTitle":"AgLeader","href":"/providers/agleader"},{"title":"Raven","sidebarTitle":"Raven","href":"/providers/raven"},{"title":"Raven Slingshot","sidebarTitle":"Raven Slingshot","href":"/providers/raven-slingshot"},{"title":"Stara","sidebarTitle":"Stara","href":"/providers/stara"},{"title":"Sentera","sidebarTitle":"Sentera","href":"/providers/sentera"},{"title":"Agvance","sidebarTitle":"Agvance","href":"/providers/agvance"},{"title":"Precision Planting Panorama","sidebarTitle":"Panorama","href":"/providers/panorama"},{"title":"Lindsay","sidebarTitle":"Lindsay","href":"/providers/lindsay"},{"title":"Valley","sidebarTitle":"Valley","href":"/providers/valley"}]},{"group":"Data Hierarchy","pages":[{"title":"Fields Overview","sidebarTitle":"Overview","href":"/fields/overview"},{"title":"Provider Organizations","sidebarTitle":"Organizations","href":"/providers/organizations"},{"title":"Growers","sidebarTitle":"Growers","href":"/fields/growers"},{"title":"Managing Fields","sidebarTitle":"Fields","href":"/fields/managing-fields"},{"title":"Uploading Boundaries","sidebarTitle":"Boundaries","href":"/fields/uploading-boundaries"}]},{"group":"Machine Data","pages":[{"title":"Machine Data Overview","sidebarTitle":"Overview","href":"/machine-data/overview"},{"title":"Uploading Files","sidebarTitle":"Uploading Files","href":"/machine-data/uploading-files"},{"title":"File Conversion","sidebarTitle":"File Conversion","description":"How Leaf converts raw machine files into standard GeoJSON or GeoParquet, including pipeline stages, status tracking, summaries, and cleanup rules.","href":"/machine-data/file-conversion"},{"title":"Field Operations","sidebarTitle":"Field Operations","href":"/machine-data/field-operations"},{"title":"Sample Output","sidebarTitle":"Sample Output","description":"Example API responses for machine files, file summaries, field operations, operation summaries, images, and units for planted, harvested, applied, and tillage.","href":"/machine-data/sample-output"},{"title":"Units","sidebarTitle":"Units","href":"/machine-data/units"}]},{"group":"Satellite Imagery","pages":[{"title":"Satellite Imagery Overview","sidebarTitle":"Overview","href":"/satellite/overview"},{"title":"Sentinel-2","sidebarTitle":"Sentinel-2","href":"/satellite/sentinel"},{"title":"PlanetScope","sidebarTitle":"PlanetScope","href":"/satellite/planet"},{"title":"Satellite Images v2","sidebarTitle":"Images v2","href":"/satellite/images-v2"}]},{"group":"Weather","pages":[{"title":"Weather Overview","sidebarTitle":"Overview","href":"/weather/overview"}]},{"group":"Soil Sampling","pages":[{"title":"Soil Sampling Overview","sidebarTitle":"Overview","href":"/soil/overview"},{"title":"Supported Soil Formats","sidebarTitle":"Supported Formats","href":"/soil/supported-formats"}]},{"group":"Leaf Lake","pages":[{"title":"Leaf Lake Overview","sidebarTitle":"Overview","href":"/leaf-lake/overview"},{"title":"Querying Leaf Lake","sidebarTitle":"Schema \u0026 Queries","href":"/leaf-lake/querying"}]},{"group":"UI Components","pages":[{"title":"Leaf Link","sidebarTitle":"Leaf Link","href":"/components/leaf-link"},{"title":"Magic Link","sidebarTitle":"Magic Link","href":"/components/magic-link"}]},{"group":"MCP Server","pages":[{"title":"MCP Server","sidebarTitle":"Overview","href":"/mcp/overview"},{"title":"MCP Tools Reference","sidebarTitle":"Tools Reference","href":"/mcp/tools-reference"}]},{"group":"Irrigation","pages":[{"title":"Irrigation Overview","sidebarTitle":"Overview","href":"/irrigation/overview"}]},{"group":"Beta","pages":[{"title":"Beta Features","sidebarTitle":"Overview","href":"/beta/overview"},{"title":"Assets","sidebarTitle":"Assets","href":"/beta/assets"},{"title":"Prescriptions","sidebarTitle":"Prescriptions","href":"/beta/prescriptions"},{"title":"Layers","sidebarTitle":"Layers","href":"/beta/layers"},{"title":"Input Validator","sidebarTitle":"Input Validator","href":"/beta/input-validator"},{"title":"Operations Planning","sidebarTitle":"Operations Planning","href":"/beta/operations-planning"}]},{"group":"Administration","pages":[{"title":"Usage Tracking","sidebarTitle":"Usage Tracking","href":"/billing/overview"}]},{"group":"Sharing Data","hidden":true,"pages":[{"title":"Leaf Connect","sidebarTitle":"Leaf Connect","href":"/components/leaf-connect"}]}]},{"tab":"Guides","icon":"lightbulb","pages":[{"title":"Guides","href":"/guides/by-use-case/managed-service-provider"}]},{"tab":"API Reference","icon":"code-simple","pages":[{"title":"API Reference","href":"/api-reference/authentication"}]},{"tab":"Resources","icon":"books","pages":[{"title":"Resources","href":"/resources/glossary"}]}]},"basePath":"","title":"Field Operations - Leaf Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}