{"openapi":"3.1.0","info":{"title":"Agriculture & Commodity Intelligence API","version":"1.0.0","description":"Analyze crop weather exposure, validate crop calendars, estimate yields, normalize commodity prices, analyze price spreads, calculate fertilizer cost per hectare, compare input costs, validate grain quality specs, check crop insurance evidence, and build market-risk reports—using caller-supplied agricultural data plus optional key-free Open-Meteo weather and World Bank Open Data. Paid with x402 exact USDC on Base. No account is required.","contact":{"email":"support@brainiac.software"},"x-guidance":"BRAINIAC.software is a pay-per-call API for software agents. No account or API key is required.\nPayment uses the x402 protocol with exact USDC on Base (chain id 8453). Each POST operation has a fixed USD price.\nHow to call an operation:\n1. POST a JSON body matching the operation's requestBody schema to the operation path. Include an Idempotency-Key header (64 hex characters, 32 random bytes).\n2. If you have not paid, the server responds 402 with payment requirements in the body. Pay the exact amount to the payTo address on Base.\n3. Retry the identical request with the same Idempotency-Key and add a payment-signature header containing the x402 payment payload. On success (200) the operation result is returned.\n4. Reuse the same Idempotency-Key only for retries of the same operation and request body; it will not be charged twice.\nAll outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Verify time-sensitive or official data with the cited source before acting."},"servers":[{"url":"https://www.brainiac.software"}],"paths":{"/api/v1/agriculture-intelligence/crop-weather-exposure-analyze":{"post":{"operationId":"analyze_crop_weather_exposure","summary":"Analyze crop weather exposure","description":"Analyze frost, drought, and excess-rain exposure from caller-supplied weather series or optional key-free Open-Meteo daily forecasts. No paid commodity feed.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","frostThresholdC":0,"droughtThresholdDays":14,"excessRainMm":80,"fields":[{"id":"F1","fieldId":"NORTH-40","crop":"corn","hectares":40,"region":"IA","source":"Caller-supplied"}],"weather":[{"id":"W1","fieldId":"NORTH-40","crop":"corn","at":"2026-06-01","temperatureC":22,"precipitationMm":5,"source":"Caller-supplied station"},{"id":"W2","fieldId":"NORTH-40","crop":"corn","at":"2026-06-02","temperatureC":-1,"precipitationMm":0,"frost":true,"source":"Caller-supplied station"},{"id":"W3","fieldId":"NORTH-40","crop":"corn","at":"2026-06-03","temperatureC":24,"precipitationMm":90,"source":"Caller-supplied station"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"fieldCount":{"type":"number"},"exposedFieldCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"fieldId":{"type":"string"},"crop":{"type":"string"},"hectares":{"type":"number"},"hectaresSupplied":{"type":"boolean"},"observationCount":{"type":"number"},"totalPrecipitationMm":{"type":"number"},"minTemperatureC":{"type":"number"},"maxTemperatureC":{"type":"number"},"temperatureRangeSupplied":{"type":"boolean"},"frostEventCount":{"type":"number"},"droughtSignal":{"type":"boolean"},"excessRainSignal":{"type":"boolean"},"exposures":{"type":"array","items":{"type":"string"}},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","fieldCount":1,"exposedFieldCount":1,"items":[{"fieldId":"NORTH-40","crop":"corn","hectares":40,"hectaresSupplied":true,"observationCount":3,"totalPrecipitationMm":95,"minTemperatureC":-1,"maxTemperatureC":24,"temperatureRangeSupplied":true,"frostEventCount":1,"droughtSignal":false,"excessRainSignal":true,"exposures":["frost","excess_rain"],"source":"Caller-supplied station; Caller-supplied station; Caller-supplied station","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[{"kind":"conflict","code":"crop_weather_exposure","subject":"NORTH-40","detail":"Weather exposures: frost, excess_rain."}],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/crop-calendar-validate":{"post":{"operationId":"validate_crop_calendars","summary":"Validate crop calendars","description":"Validate planting/harvest/stage events against caller-supplied calendar windows. Not a regulatory planting determination.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","calendars":[{"id":"C1","crop":"corn","region":"IA","stage":"planting","windowStart":"2026-04-15","windowEnd":"2026-05-20","eventAt":"2026-05-01","source":"Caller-supplied calendar"},{"id":"C2","crop":"corn","region":"IA","stage":"planting","windowStart":"2026-04-15","windowEnd":"2026-05-20","eventAt":"2026-06-01","source":"Caller-supplied calendar"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"calendarCount":{"type":"number"},"validCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"crop":{"type":"string"},"region":{"type":"string"},"stage":{"type":"string"},"windowStart":{"type":"string"},"windowEnd":{"type":"string"},"eventAt":{"type":"string"},"withinWindow":{"type":"boolean"},"valid":{"type":"boolean"},"issues":{"type":"array","items":{}},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"validated","calendarCount":2,"validCount":1,"items":[{"id":"C1","crop":"corn","region":"IA","stage":"planting","windowStart":"2026-04-15","windowEnd":"2026-05-20","eventAt":"2026-05-01","withinWindow":true,"valid":true,"issues":[],"source":"Caller-supplied calendar","paidCommodityFeedUsed":false},{"id":"C2","crop":"corn","region":"IA","stage":"planting","windowStart":"2026-04-15","windowEnd":"2026-05-20","eventAt":"2026-06-01","withinWindow":false,"valid":false,"issues":["outside_window"],"source":"Caller-supplied calendar","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[{"kind":"conflict","code":"calendar_outside_window","subject":"C2","detail":"Event for corn planting is outside the supplied window."}],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/crop-yield-estimate":{"post":{"operationId":"estimate_crop_yields","summary":"Estimate crop yields","description":"Estimate total yield from caller-supplied hectares and expected/historical yield-per-hectare rates, with optional weather stress factors.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","fields":[{"id":"F1","fieldId":"NORTH-40","crop":"corn","hectares":40,"source":"Caller-supplied"}],"yields":[{"id":"Y1","fieldId":"NORTH-40","crop":"corn","hectares":40,"expectedYieldPerHa":11.2,"weatherStressFactor":0.9,"unit":"tonne","source":"Caller-supplied agronomy"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"estimateCount":{"type":"number"},"totalEstimatedYield":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"fieldId":{"type":"string"},"crop":{"type":"string"},"hectares":{"type":"number"},"hectaresSupplied":{"type":"boolean"},"baseYieldPerHa":{"type":"number"},"baseYieldPerHaSupplied":{"type":"boolean"},"weatherStressFactor":{"type":"number"},"weatherStressFactorSupplied":{"type":"boolean"},"estimatedYieldPerHa":{"type":"number"},"estimatedYieldPerHaSupplied":{"type":"boolean"},"estimatedTotalYield":{"type":"number"},"estimatedTotalYieldSupplied":{"type":"boolean"},"unit":{"type":"string"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"estimated","estimateCount":1,"totalEstimatedYield":403.2,"items":[{"id":"Y1","fieldId":"NORTH-40","crop":"corn","hectares":40,"hectaresSupplied":true,"baseYieldPerHa":11.2,"baseYieldPerHaSupplied":true,"weatherStressFactor":0.9,"weatherStressFactorSupplied":true,"estimatedYieldPerHa":10.08,"estimatedYieldPerHaSupplied":true,"estimatedTotalYield":403.2,"estimatedTotalYieldSupplied":true,"unit":"tonne","source":"Caller-supplied agronomy","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/commodity-price-series-normalize":{"post":{"operationId":"normalize_commodity_price_series","summary":"Normalize commodity price series","description":"Normalize caller-supplied commodity price points, or optional key-free World Bank Open Data indicator series when requested. No paid commodity feed.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","prices":[{"id":"P1","commodity":"corn","symbol":"C","at":"2026-11-01","price":4.55,"unit":"USD/bu","currency":"USD","market":"CBOT-style caller feed","side":"spot","source":"Caller-supplied"},{"id":"P2","commodity":"corn","symbol":"C","at":"2026-11-02","price":4.62,"unit":"USD/bu","currency":"USD","market":"CBOT-style caller feed","side":"spot","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"priceCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"commodity":{"type":"string"},"symbol":{"type":"string"},"at":{"type":"string"},"price":{"type":"number"},"priceSupplied":{"type":"boolean"},"unit":{"type":"string"},"currency":{"type":"string"},"market":{"type":"string"},"side":{"type":"string"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"normalized","priceCount":2,"items":[{"id":"P1","commodity":"corn","symbol":"C","at":"2026-11-01","price":4.55,"priceSupplied":true,"unit":"USD/bu","currency":"USD","market":"CBOT-style caller feed","side":"spot","source":"Caller-supplied","paidCommodityFeedUsed":false},{"id":"P2","commodity":"corn","symbol":"C","at":"2026-11-02","price":4.62,"priceSupplied":true,"unit":"USD/bu","currency":"USD","market":"CBOT-style caller feed","side":"spot","source":"Caller-supplied","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/commodity-price-spread-analyze":{"post":{"operationId":"analyze_commodity_price_spreads","summary":"Analyze commodity price spreads","description":"Analyze spot/futures or left/right price spreads from caller-supplied commodity price points.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","prices":[{"id":"P1","commodity":"corn","at":"2026-11-01","price":4.55,"unit":"USD/bu","side":"spot","source":"Caller-supplied"},{"id":"P2","commodity":"corn","at":"2026-11-01","price":4.8,"unit":"USD/bu","side":"futures","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"spreadCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"commodity":{"type":"string"},"leftId":{"type":"string"},"rightId":{"type":"string"},"leftPrice":{"type":"number"},"rightPrice":{"type":"number"},"leftSide":{"type":"string"},"rightSide":{"type":"string"},"leftAt":{"type":"string"},"rightAt":{"type":"string"},"spread":{"type":"number"},"spreadPct":{"type":"number"},"spreadPctSupplied":{"type":"boolean"},"unit":{"type":"string"},"currency":{"type":"string"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"analyzed","spreadCount":1,"items":[{"commodity":"corn","leftId":"P1","rightId":"P2","leftPrice":4.55,"rightPrice":4.8,"leftSide":"spot","rightSide":"futures","leftAt":"2026-11-01","rightAt":"2026-11-01","spread":0.25,"spreadPct":5.3476,"spreadPctSupplied":true,"unit":"USD/bu","currency":"USD","source":"Caller-supplied; Caller-supplied","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/fertilizer-cost-per-hectare":{"post":{"operationId":"calculate_fertilizer_cost_per_hectare","summary":"Calculate fertilizer cost per hectare","description":"Calculate fertilizer cost per hectare from caller-supplied application rates and unit prices.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","inputCosts":[{"id":"I1","category":"fertilizer","product":"urea","nutrient":"N","ratePerHa":200,"pricePerUnit":0.55,"unit":"kg","hectares":40,"currency":"USD","source":"Caller-supplied invoice"},{"id":"I2","category":"fertilizer","product":"MAP","nutrient":"P","ratePerHa":80,"pricePerUnit":0.72,"unit":"kg","hectares":40,"currency":"USD","source":"Caller-supplied invoice"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"itemCount":{"type":"number"},"totalCostPerHa":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"product":{"type":"string"},"nutrient":{"type":"string"},"ratePerHa":{"type":"number"},"ratePerHaSupplied":{"type":"boolean"},"pricePerUnit":{"type":"number"},"pricePerUnitSupplied":{"type":"boolean"},"unit":{"type":"string"},"hectares":{"type":"number"},"hectaresSupplied":{"type":"boolean"},"costPerHa":{"type":"number"},"costPerHaSupplied":{"type":"boolean"},"totalCost":{"type":"number"},"totalCostSupplied":{"type":"boolean"},"currency":{"type":"string"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"calculated","itemCount":2,"totalCostPerHa":167.6,"items":[{"id":"I1","product":"urea","nutrient":"N","ratePerHa":200,"ratePerHaSupplied":true,"pricePerUnit":0.55,"pricePerUnitSupplied":true,"unit":"kg","hectares":40,"hectaresSupplied":true,"costPerHa":110,"costPerHaSupplied":true,"totalCost":4400,"totalCostSupplied":true,"currency":"USD","source":"Caller-supplied invoice","paidCommodityFeedUsed":false},{"id":"I2","product":"MAP","nutrient":"P","ratePerHa":80,"ratePerHaSupplied":true,"pricePerUnit":0.72,"pricePerUnitSupplied":true,"unit":"kg","hectares":40,"hectaresSupplied":true,"costPerHa":57.6,"costPerHaSupplied":true,"totalCost":2304,"totalCostSupplied":true,"currency":"USD","source":"Caller-supplied invoice","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/input-cost-compare":{"post":{"operationId":"compare_agricultural_input_costs","summary":"Compare agricultural input costs","description":"Compare prior/current or left/right agricultural input costs per hectare from caller-supplied rate and price rows.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","inputCosts":[{"id":"I1","category":"fertilizer","product":"urea","ratePerHa":200,"pricePerUnit":0.5,"unit":"kg","side":"prior","source":"Caller-supplied"},{"id":"I2","category":"fertilizer","product":"urea","ratePerHa":200,"pricePerUnit":0.55,"unit":"kg","side":"current","source":"Caller-supplied"},{"id":"I3","category":"seed","product":"hybrid-corn","ratePerHa":1,"pricePerUnit":320,"unit":"bag","side":"prior","source":"Caller-supplied"},{"id":"I4","category":"seed","product":"hybrid-corn","ratePerHa":1,"pricePerUnit":340,"unit":"bag","side":"current","source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"pairCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"leftId":{"type":"string"},"rightId":{"type":"string"},"category":{"type":"string"},"product":{"type":"string"},"leftCostPerHa":{"type":"number"},"rightCostPerHa":{"type":"number"},"leftCostPerHaSupplied":{"type":"boolean"},"rightCostPerHaSupplied":{"type":"boolean"},"deltaPerHa":{"type":"number"},"deltaPerHaSupplied":{"type":"boolean"},"currency":{"type":"string"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"compared","pairCount":2,"items":[{"key":"fertilizer_urea_kg","leftId":"I1","rightId":"I2","category":"fertilizer","product":"urea","leftCostPerHa":100,"rightCostPerHa":110,"leftCostPerHaSupplied":true,"rightCostPerHaSupplied":true,"deltaPerHa":10,"deltaPerHaSupplied":true,"currency":"USD","source":"Caller-supplied; Caller-supplied","paidCommodityFeedUsed":false},{"key":"seed_hybrid_corn_bag","leftId":"I3","rightId":"I4","category":"seed","product":"hybrid-corn","leftCostPerHa":320,"rightCostPerHa":340,"leftCostPerHaSupplied":true,"rightCostPerHaSupplied":true,"deltaPerHa":20,"deltaPerHaSupplied":true,"currency":"USD","source":"Caller-supplied; Caller-supplied","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[{"kind":"conflict","code":"input_cost_delta","subject":"I1","detail":"Input cost per hectare delta 10."},{"kind":"conflict","code":"input_cost_delta","subject":"I3","detail":"Input cost per hectare delta 20."}],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/grain-quality-spec-validate":{"post":{"operationId":"validate_grain_quality_specs","summary":"Validate grain quality specs","description":"Validate caller-supplied grain lot moisture, protein, test weight, foreign material, damage, and grade against supplied specs.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","grainSpecs":[{"id":"S1","commodity":"wheat","maxMoisturePct":13.5,"minProteinPct":11,"minTestWeight":58,"maxForeignMaterialPct":2,"maxDamagePct":4,"requiredGrade":"US No. 2","source":"Caller-supplied contract"}],"grainLots":[{"id":"L1","lotId":"LOT-1","commodity":"wheat","moisturePct":12.8,"proteinPct":12.1,"testWeight":60,"foreignMaterialPct":1.2,"damagePct":2,"grade":"US No. 2","source":"Caller-supplied elevator"},{"id":"L2","lotId":"LOT-2","commodity":"wheat","moisturePct":14.2,"proteinPct":10.5,"testWeight":56,"foreignMaterialPct":2.5,"damagePct":5,"grade":"US No. 3","source":"Caller-supplied elevator"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"lotCount":{"type":"number"},"validCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"lotId":{"type":"string"},"commodity":{"type":"string"},"specId":{"type":"string"},"moisturePct":{"type":"number"},"proteinPct":{"type":"number"},"testWeight":{"type":"number"},"foreignMaterialPct":{"type":"number"},"damagePct":{"type":"number"},"grade":{"type":"string"},"issues":{"type":"array","items":{}},"valid":{"type":"boolean"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"validated","lotCount":2,"validCount":1,"items":[{"id":"L1","lotId":"LOT-1","commodity":"wheat","specId":"S1","moisturePct":12.8,"proteinPct":12.1,"testWeight":60,"foreignMaterialPct":1.2,"damagePct":2,"grade":"US No. 2","issues":[],"valid":true,"source":"Caller-supplied elevator; Caller-supplied contract","paidCommodityFeedUsed":false},{"id":"L2","lotId":"LOT-2","commodity":"wheat","specId":"S1","moisturePct":14.2,"proteinPct":10.5,"testWeight":56,"foreignMaterialPct":2.5,"damagePct":5,"grade":"US No. 3","issues":["moisture_above_max","protein_below_min","test_weight_below_min","foreign_material_above_max","damage_above_max","grade_mismatch"],"valid":false,"source":"Caller-supplied elevator; Caller-supplied contract","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[{"kind":"conflict","code":"grain_spec_fail","subject":"L2","detail":"Grain lot failed spec checks: moisture_above_max, protein_below_min, test_weight_below_min, foreign_material_above_max, damage_above_max, grade_mismatch."}],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/crop-insurance-evidence-check":{"post":{"operationId":"check_crop_insurance_evidence","summary":"Check crop insurance evidence","description":"Check caller-supplied crop insurance evidence items against a required checklist. Coverage is not confirmed.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","requiredEvidence":["Acreage report","Production history","Planting date record","Notice of loss"],"evidenceItems":[{"id":"E1","label":"Acreage report","present":true,"fieldId":"NORTH-40","crop":"corn","source":"Caller-supplied"},{"id":"E2","label":"Production history","present":true,"source":"Caller-supplied"},{"id":"E3","label":"Planting date record","present":false,"source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"requiredCount":{"type":"number"},"presentCount":{"type":"number"},"missingCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"present":{"type":"boolean"},"fieldId":{"type":"string"},"crop":{"type":"string"},"source":{"type":"string"},"paidCommodityFeedUsed":{"type":"boolean"}},"additionalProperties":true}},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"checked","requiredCount":4,"presentCount":2,"missingCount":2,"items":[{"id":"E1","label":"Acreage report","present":true,"fieldId":"NORTH-40","crop":"corn","source":"Caller-supplied","paidCommodityFeedUsed":false},{"id":"E2","label":"Production history","present":true,"fieldId":"","crop":"","source":"Caller-supplied","paidCommodityFeedUsed":false},{"id":"E3","label":"Planting date record","present":false,"fieldId":"","crop":"","source":"Caller-supplied","paidCommodityFeedUsed":false},{"id":"REQ-4","label":"Notice of loss","present":false,"fieldId":"","crop":"","source":"Required checklist","paidCommodityFeedUsed":false}],"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[{"kind":"conflict","code":"insurance_evidence_missing","subject":"E3","detail":"Crop insurance evidence not marked present: \"Planting date record\"."},{"kind":"conflict","code":"insurance_evidence_missing","subject":"REQ-4","detail":"Crop insurance evidence not marked present: \"Notice of loss\"."}],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/agriculture-intelligence/market-risk-report":{"post":{"operationId":"build_agricultural_market_risk_report","summary":"Build agricultural market risk report","description":"Aggregate weather exposure, calendar, yield, price, spread, fertilizer, input-cost, grain-quality, and insurance-evidence sections from caller-supplied agricultural records.","tags":["agriculture-intelligence"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"csv":{"type":"string","maxLength":200000},"file":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["text/plain","text/csv","application/json","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"role":{"type":"string","maxLength":80}},"required":["fileBase64"],"additionalProperties":false}},"weather":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"at":{"type":"string","maxLength":40},"periodStart":{"type":"string","maxLength":40},"periodEnd":{"type":"string","maxLength":40},"temperatureC":{"type":"number","minimum":-80,"maximum":80},"precipitationMm":{"type":"number","minimum":0,"maximum":2000},"windSpeedMs":{"type":"number","minimum":0,"maximum":200},"humidityPct":{"type":"number","minimum":0,"maximum":100},"frost":{"type":"boolean"},"droughtDays":{"type":"number","minimum":0,"maximum":3650},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"fields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"variety":{"type":"string","maxLength":120},"hectares":{"type":"number","minimum":0,"maximum":1000000},"region":{"type":"string","maxLength":120},"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"plantedAt":{"type":"string","maxLength":40},"expectedHarvestAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"calendars":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"region":{"type":"string","maxLength":120},"stage":{"type":"string","maxLength":80},"windowStart":{"type":"string","maxLength":40},"windowEnd":{"type":"string","maxLength":40},"eventAt":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"yields":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"hectares":{"type":"number","minimum":0,"maximum":1000000},"expectedYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"historicalYieldPerHa":{"type":"number","minimum":0,"maximum":1000000},"weatherStressFactor":{"type":"number","minimum":0,"maximum":5},"unit":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"prices":{"maxItems":10000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"symbol":{"type":"string","maxLength":40},"at":{"type":"string","maxLength":40},"price":{"type":"number","minimum":0,"maximum":1000000000},"unit":{"type":"string","maxLength":40},"currency":{"type":"string","maxLength":12},"market":{"type":"string","maxLength":80},"side":{"type":"string","enum":["spot","futures","basis","left","right","a","b"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"inputCosts":{"maxItems":5000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":120},"category":{"type":"string","enum":["fertilizer","seed","chemical","fuel","labor","other"]},"product":{"type":"string","maxLength":120},"nutrient":{"type":"string","maxLength":40},"ratePerHa":{"type":"number","minimum":0,"maximum":1000000},"pricePerUnit":{"type":"number","minimum":0,"maximum":1000000},"unit":{"type":"string","maxLength":40},"hectares":{"type":"number","minimum":0,"maximum":1000000},"currency":{"type":"string","maxLength":12},"side":{"type":"string","enum":["left","right","a","b","prior","current"]},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainLots":{"maxItems":2000,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"lotId":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"moisturePct":{"type":"number","minimum":0,"maximum":100},"proteinPct":{"type":"number","minimum":0,"maximum":100},"testWeight":{"type":"number","minimum":0,"maximum":1000},"foreignMaterialPct":{"type":"number","minimum":0,"maximum":100},"damagePct":{"type":"number","minimum":0,"maximum":100},"grade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"grainSpecs":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"commodity":{"type":"string","maxLength":80},"maxMoisturePct":{"type":"number","minimum":0,"maximum":100},"minProteinPct":{"type":"number","minimum":0,"maximum":100},"minTestWeight":{"type":"number","minimum":0,"maximum":1000},"maxForeignMaterialPct":{"type":"number","minimum":0,"maximum":100},"maxDamagePct":{"type":"number","minimum":0,"maximum":100},"requiredGrade":{"type":"string","maxLength":40},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"evidenceItems":{"maxItems":500,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":200},"present":{"type":"boolean"},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"requiredEvidence":{"maxItems":100,"type":"array","items":{"type":"string","maxLength":200}},"openMeteo":{"type":"object","properties":{"latitudeDeg":{"type":"number","minimum":-90,"maximum":90},"longitudeDeg":{"type":"number","minimum":-180,"maximum":180},"start":{"type":"string","maxLength":40},"days":{"type":"integer","minimum":1,"maximum":16},"fieldId":{"type":"string","maxLength":80},"crop":{"type":"string","maxLength":80}},"required":["latitudeDeg","longitudeDeg"],"additionalProperties":false},"worldBank":{"type":"object","properties":{"country":{"type":"string","minLength":2,"maxLength":3},"indicator":{"type":"string","minLength":2,"maxLength":80},"perPage":{"type":"integer","minimum":1,"maximum":100},"commodity":{"type":"string","maxLength":80}},"required":["country","indicator"],"additionalProperties":false},"asOf":{"type":"string","maxLength":40},"frostThresholdC":{"type":"number","minimum":-40,"maximum":10},"droughtThresholdDays":{"type":"number","minimum":1,"maximum":365},"excessRainMm":{"type":"number","minimum":1,"maximum":2000}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","fields":[{"id":"F1","fieldId":"NORTH-40","crop":"corn","hectares":40,"source":"Caller-supplied"}],"weather":[{"fieldId":"NORTH-40","at":"2026-06-01","temperatureC":22,"precipitationMm":5,"source":"Caller-supplied"},{"fieldId":"NORTH-40","at":"2026-06-02","temperatureC":-1,"precipitationMm":0,"frost":true,"source":"Caller-supplied"}],"calendars":[{"crop":"corn","stage":"planting","windowStart":"2026-04-15","windowEnd":"2026-05-20","eventAt":"2026-05-01","source":"Caller-supplied"}],"yields":[{"fieldId":"NORTH-40","crop":"corn","hectares":40,"expectedYieldPerHa":11.2,"weatherStressFactor":0.9,"unit":"tonne","source":"Caller-supplied"}],"prices":[{"commodity":"corn","at":"2026-11-01","price":4.55,"unit":"USD/bu","side":"spot","source":"Caller-supplied"},{"commodity":"corn","at":"2026-11-01","price":4.8,"unit":"USD/bu","side":"futures","source":"Caller-supplied"}],"inputCosts":[{"category":"fertilizer","product":"urea","ratePerHa":200,"pricePerUnit":0.5,"unit":"kg","side":"prior","source":"Caller-supplied"},{"category":"fertilizer","product":"urea","ratePerHa":200,"pricePerUnit":0.55,"unit":"kg","side":"current","hectares":40,"source":"Caller-supplied"}],"grainSpecs":[{"commodity":"wheat","maxMoisturePct":13.5,"minProteinPct":11,"source":"Caller-supplied"}],"grainLots":[{"lotId":"LOT-1","commodity":"wheat","moisturePct":12.8,"proteinPct":12.1,"source":"Caller-supplied"}],"requiredEvidence":["Acreage report","Notice of loss"],"evidenceItems":[{"label":"Acreage report","present":true,"source":"Caller-supplied"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"asOf":{"type":"string"},"sections":{"type":"object","properties":{"weatherExposure":{"type":"object","properties":{"fieldCount":{"type":"number"},"exposedFieldCount":{"type":"number"}},"additionalProperties":true},"calendars":{"type":"object","properties":{"calendarCount":{"type":"number"},"validCount":{"type":"number"}},"additionalProperties":true},"yields":{"type":"object","properties":{"estimateCount":{"type":"number"},"totalEstimatedYield":{"type":"number"}},"additionalProperties":true},"prices":{"type":"object","properties":{"priceCount":{"type":"number"}},"additionalProperties":true},"spreads":{"type":"object","properties":{"spreadCount":{"type":"number"}},"additionalProperties":true},"fertilizer":{"type":"object","properties":{"itemCount":{"type":"number"},"totalCostPerHa":{"type":"number"}},"additionalProperties":true},"inputCosts":{"type":"object","properties":{"pairCount":{"type":"number"}},"additionalProperties":true},"grainQuality":{"type":"object","properties":{"lotCount":{"type":"number"},"validCount":{"type":"number"}},"additionalProperties":true},"insuranceEvidence":{"type":"object","properties":{"requiredCount":{"type":"number"},"missingCount":{"type":"number"}},"additionalProperties":true}},"additionalProperties":true},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"paidCommodityFeedUsed":{"type":"boolean"},"openMeteoFetched":{"type":"boolean"},"worldBankFetched":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"reported","asOf":"2026-11-04T21:00:00.000Z","sections":{"weatherExposure":{"fieldCount":1,"exposedFieldCount":1},"calendars":{"calendarCount":1,"validCount":1},"yields":{"estimateCount":1,"totalEstimatedYield":403.2},"prices":{"priceCount":2},"spreads":{"spreadCount":1},"fertilizer":{"itemCount":2,"totalCostPerHa":210},"inputCosts":{"pairCount":1},"grainQuality":{"lotCount":1,"validCount":1},"insuranceEvidence":{"requiredCount":2,"missingCount":1}},"paidProviderUsed":false,"apiKeyRequired":false,"paidCommodityFeedUsed":false,"openMeteoFetched":false,"worldBankFetched":false,"findings":[{"kind":"conflict","code":"crop_weather_exposure","subject":"NORTH-40","detail":"Weather exposures: frost."},{"kind":"conflict","code":"input_cost_delta","subject":"IN-1","detail":"Input cost per hectare delta 10."},{"kind":"conflict","code":"insurance_evidence_missing","subject":"REQ-2","detail":"Crop insurance evidence not marked present: \"Notice of loss\"."}],"limitations":["Agricultural fields, weather, calendars, yields, commodity prices, input costs, grain lots/specs, and insurance evidence are copied only from labeled fields supplied by the caller, or from key-free Open-Meteo / World Bank Open Data when explicitly requested.","No paid commodity feed or authenticated agricultural platform is used and no API key is required.","Missing values are not invented. Yield and cost calculations use only supplied quantities, rates, prices, and optional stress factors.","Crop calendars are validated against caller-supplied windows only—not regulatory planting mandates.","Market-risk reports aggregate only sections for which records were supplied or optionally fetched."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.08"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}