{"openapi":"3.1.0","info":{"title":"R2Data2 API","description":"R2Data2 provides county-level agricultural risk signals for all ~3,100 U.S. counties,\nupdated automatically from government sources (USDA, NASA, FEMA). A single API key\nunlocks drought, soil moisture, precipitation, vegetation health, crop yields, crop\nprogress, growing degree days, flood zones, and composite risk scores.\n\n## Authentication\n\nAll endpoints require an `X-API-Key` header. Get a free key at\n[r2data2.com/signup/free](https://r2data2.com/signup/free).\n\n```\nX-API-Key: agr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n```\n\n## Data Sources\n\n| Signal | Source | Frequency |\n|--------|--------|-----------|\n| Drought (D0–D4) | USDA Drought Monitor | Weekly (Thu) |\n| Precipitation & VPD | PRISM Climate Group | Daily |\n| Soil Moisture | NASA SMAP L3 | Daily (~3-day lag) |\n| Growing Degree Days | PRISM-derived | Daily |\n| Vegetation Index (NDVI) | MODIS via NASA AppEEARS | 16-day composites |\n| Crop Yields | USDA NASS QuickStats | Annual |\n| Crop Progress & Conditions | USDA NASS | Weekly (Mon) |\n| Flood Zone Coverage | FEMA FIRM | Quarterly refresh |\n| Natural Hazard Risk (NRI) | FEMA | Annual |\n| Crop Insurance Losses | USDA RMA | Annual |\n\n## Rate Limits & History Windows\n\n| Plan | Requests/day | History |\n|------|-------------|---------|\n| Free | 100 | 1 year |\n| Starter | 2,000 | 5 years |\n| Growth | 15,000 | 10 years |\n| Pro | 50,000 | Unlimited |\n\nEach record returned typically costs 1 request. `/county/{fips}/summary` costs 5.\n`/portfolio` costs 5 per county. Rate limits reset at midnight Eastern.\n\n## County Identifiers\n\nAll endpoints use 5-digit FIPS codes (`{state}{county}`, e.g. `19153` for Polk County, Iowa).\nLook up FIPS codes via `/counties?state=IA&name=polk` or at\n[census.gov](https://www.census.gov/geographies/reference-files/2020/demo/popest/2020-fips.html).\n","version":"0.1.0","contact":{"name":"R2Data2 Support","url":"https://r2data2.com/contact","email":"support@r2data2.com"},"x-logo":{"url":"https://r2data2.com/favicon.svg","altText":"R2Data2"}},"paths":{"/drought/county/{fips}":{"get":{"tags":["drought"],"summary":"Get County History","description":"Return USDM drought history for a single county.\n\nSource: USDA Drought Monitor (USDM), released weekly every Thursday.\n\nEach record covers one week. Key fields:\n- `drought_severity` — integer -1 (no drought) through 4 (D4 exceptional)\n- `d0_pct`–`d4_pct` — share of county area in each drought category\n\nOrdered newest → oldest. Defaults to the last 52 weeks (max 130 ≈ 2.5 years).\nCosts **1 request per record returned**. Use `start_date`/`end_date` to paginate.","operationId":"get_county_history_drought_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":130,"minimum":1,"default":52,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroughtHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/drought/snapshot/{valid_date}":{"get":{"tags":["drought"],"summary":"Get Snapshot","description":"Return all county drought records for a specific USDM release date.\n\nSource: USDA Drought Monitor (USDM), released weekly every Thursday.\n\nEach record covers one county. Key fields:\n- `drought_severity` — integer -1 (no drought) through 4 (D4 exceptional)\n- `d0_pct`–`d4_pct` — share of county area in each drought category\n\nUse `min_severity` to filter to drought-affected counties only, or `state`\nto scope to a single state (≈ 100 records). National snapshot ≈ 3,100 records.\n\nCosts **1 request per county returned**. Requires **growth** plan or above.","operationId":"get_snapshot_drought_snapshot__valid_date__get","parameters":[{"name":"valid_date","in":"path","required":true,"schema":{"type":"string","format":"date","description":"Snapshot date (YYYY-MM-DD). Must be a Thursday — USDM data releases weekly on Thursdays.","title":"Valid Date"},"description":"Snapshot date (YYYY-MM-DD). Must be a Thursday — USDM data releases weekly on Thursdays."},{"name":"min_severity","in":"query","required":false,"schema":{"type":"integer","maximum":4,"minimum":-1,"description":"Filter by minimum drought_severity","default":-1,"title":"Min Severity"},"description":"Filter by minimum drought_severity"},{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"Filter by 2-letter state abbreviation, e.g. IA","title":"State"},"description":"Filter by 2-letter state abbreviation, e.g. IA"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroughtSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/drought/county/{fips}/latest":{"get":{"tags":["drought"],"summary":"Get Latest","description":"Return the most recent USDM drought record for a county.\n\nSource: USDA Drought Monitor, updated weekly.\nReturns the current `drought_severity` (-1–4) and the share of the county\nin each D0–D4 band. Useful for real-time drought screening.\n\nCosts **1 request**.","operationId":"get_latest_drought_county__fips__latest_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroughtRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/drought/metrics/county/{fips}":{"get":{"tags":["drought"],"summary":"Get County Metrics","description":"Return derived drought metrics history for a single county.\n\nThese metrics are computed from USDM weekly history and expose trend and\npersistence signals not available in the raw category data:\n\n- `weeks_in_drought` — consecutive weeks with any drought (D0+)\n- `weeks_at_severity` — consecutive weeks at the current severity level\n- `severity_change_1w` / `severity_change_4w` — worsening (+) or improvement (–)\n- `avg_severity_4w` / `avg_severity_12w` — rolling average severity\n- `burden_52w` — cumulative drought burden over the past year (sum of weekly severities)\n- `severity_percentile_20y` — how rare this severity is vs. 20-year county history\n- `drought_regime` — qualitative label (e.g. \"persistent\", \"flash\", \"recovering\")\n\nCosts **1 request per record returned**. Max 130 records (≈ 2.5 years).\nUse `start_date`/`end_date` to paginate.","operationId":"get_county_metrics_drought_metrics_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":130,"minimum":1,"default":52,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroughtMetricsHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/drought/metrics/county/{fips}/latest":{"get":{"tags":["drought"],"summary":"Get County Metrics Latest","description":"Return the most recent derived drought metrics for a county.\n\nIncludes persistence (`weeks_in_drought`), trend (`severity_change_1w`/`4w`),\nrolling averages (`avg_severity_4w`/`12w`), 20-year percentile, and drought\nregime label. See the history endpoint for full field descriptions.\n\nCosts **1 request**.","operationId":"get_county_metrics_latest_drought_metrics_county__fips__latest_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroughtMetricsRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/drought/metrics/snapshot/{valid_date}":{"get":{"tags":["drought"],"summary":"Get Metrics Snapshot","description":"Return derived drought metrics for all counties on a specific USDM release date.\n\nThese metrics are computed from USDM weekly history and expose trend and\npersistence signals not available in the raw category data:\n\n- `weeks_in_drought` — consecutive weeks with any drought (D0+)\n- `weeks_at_severity` — consecutive weeks at the current severity level\n- `severity_change_1w` / `severity_change_4w` — worsening (+) or improvement (–)\n- `avg_severity_4w` / `avg_severity_12w` — rolling average severity\n- `burden_52w` — cumulative drought burden over the past year\n- `severity_percentile_20y` — how rare this severity is vs. 20-year county history\n- `drought_regime` — qualitative label (e.g. \"persistent\", \"flash\", \"recovering\")\n\nUse `min_weeks_in_drought` to filter to persistently drought-affected counties.\nCosts **1 request per county returned**. Requires **growth** plan or above.","operationId":"get_metrics_snapshot_drought_metrics_snapshot__valid_date__get","parameters":[{"name":"valid_date","in":"path","required":true,"schema":{"type":"string","format":"date","description":"Snapshot date (YYYY-MM-DD). Must be a Thursday — USDM data releases weekly on Thursdays.","title":"Valid Date"},"description":"Snapshot date (YYYY-MM-DD). Must be a Thursday — USDM data releases weekly on Thursdays."},{"name":"min_weeks_in_drought","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Filter by minimum weeks_in_drought","default":0,"title":"Min Weeks In Drought"},"description":"Filter by minimum weeks_in_drought"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DroughtMetricsSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/soil-moisture/county/{fips}":{"get":{"tags":["soil-moisture"],"summary":"Get County History","description":"Return NASA SMAP soil moisture history for a single county.\n\nSource: NASA Soil Moisture Active Passive (SMAP) L3 9 km product, aggregated\nto county level via precomputed area-weighted grids.\n\nEach record includes AM (≈6 AM) and PM (≈6 PM) satellite overpass readings.\nKey fields:\n- `sm_mean_am` — mean surface soil moisture in m³/m³ (top ~5 cm)\n- `sm_z_score` — anomaly vs. 3-year baseline for that week of year (null when\n  baseline confidence is low)\n- `vwc_am` — volumetric water content\n- `freeze_thaw_am` — freeze/thaw state flag\n\nData has 1–3 day latency. Ordered newest → oldest.\nCosts **1 request per record returned**. Max 365 records (1 year).\nUse `start_date`/`end_date` to paginate.","operationId":"get_county_history_soil_moisture_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":90,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmapHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/soil-moisture/county/{fips}/latest":{"get":{"tags":["soil-moisture"],"summary":"Get Latest","description":"Return the most recent NASA SMAP soil moisture record for a county.\n\nIncludes AM/PM overpass readings and `sm_z_score` anomaly vs. the historical\nbaseline for that week of year. Latency is typically 1–3 days.\n\nCosts **1 request**.","operationId":"get_latest_soil_moisture_county__fips__latest_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmapRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/soil-moisture/snapshot/{obs_date}":{"get":{"tags":["soil-moisture"],"summary":"Get Snapshot","description":"Return all county soil moisture records for a specific date, including sm_z_score\nvs the historical baseline for that week of year.\n\nCosts **1 request per county returned**.","operationId":"get_snapshot_soil_moisture_snapshot__obs_date__get","parameters":[{"name":"obs_date","in":"path","required":true,"schema":{"type":"string","format":"date","description":"Observation date (YYYY-MM-DD). NASA SMAP data; daily, typically 1–2 days lag from today.","title":"Obs Date"},"description":"Observation date (YYYY-MM-DD). NASA SMAP data; daily, typically 1–2 days lag from today."},{"name":"min_coverage_pct","in":"query","required":false,"schema":{"type":"number","maximum":100,"minimum":0,"description":"Filter by minimum AM coverage %","default":0.0,"title":"Min Coverage Pct"},"description":"Filter by minimum AM coverage %"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmapSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/precipitation/county/{fips}":{"get":{"tags":["precipitation"],"summary":"Get County History","description":"Return PRISM daily weather history for a single county.\n\nSource: PRISM Climate Group (Oregon State), 4 km gridded product aggregated\nto county level via precomputed area-weighted grids.\n\nKey fields: `precip_mm`, `tmax_c`, `tmin_c`, `tdmean_c` (mean dewpoint),\n`vpdmax_hpa` (max vapor pressure deficit).\n\nOrdered newest → oldest. Costs **1 request per record returned**.\nMax 365 records (1 year). Use `start_date`/`end_date` to paginate.","operationId":"get_county_history_precipitation_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":365,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrecipHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/precipitation/county/{fips}/latest":{"get":{"tags":["precipitation"],"summary":"Get Latest","description":"Return the most recent PRISM daily weather record for a county.\n\nIncludes `precip_mm`, `tmax_c`, `tmin_c`, `tdmean_c`, and `vpdmax_hpa`.\nPRISM provisional data is typically available within 1 day.\n\nCosts **1 request**.","operationId":"get_latest_precipitation_county__fips__latest_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrecipRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/precipitation/snapshot/{obs_date}":{"get":{"tags":["precipitation"],"summary":"Get Snapshot","description":"Return precipitation for all counties on a specific date.\n\nCosts **1 request per county returned**.","operationId":"get_snapshot_precipitation_snapshot__obs_date__get","parameters":[{"name":"obs_date","in":"path","required":true,"schema":{"type":"string","format":"date","description":"Observation date (YYYY-MM-DD). Daily PRISM data; typically 1–3 days lag from today.","title":"Obs Date"},"description":"Observation date (YYYY-MM-DD). Daily PRISM data; typically 1–3 days lag from today."},{"name":"min_precip_mm","in":"query","required":false,"schema":{"type":"number","minimum":0,"description":"Filter to counties with at least this much precipitation","default":0.0,"title":"Min Precip Mm"},"description":"Filter to counties with at least this much precipitation"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrecipSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gdd/county/{fips}":{"get":{"tags":["gdd"],"summary":"Get County History","description":"Return PRISM-derived daily Growing Degree Days (GDD) for a single county.\n\nGDD values are computed from PRISM daily temperatures using standard\ncrop-specific base/ceiling temperatures:\n- Corn & Soybeans: base 50°F / ceiling 86°F\n- Wheat: base 32°F / ceiling 86°F\n- Cotton: base 60°F / ceiling 100°F\n- Sorghum: base 50°F / ceiling 100°F\n\nOrdered newest → oldest. Costs **1 request per record returned**.\nMax 365 records (1 year). Use `start_date`/`end_date` to paginate.","operationId":"get_county_history_gdd_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":365,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GddHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gdd/county/{fips}/cumulative":{"get":{"tags":["gdd"],"summary":"Get Cumulative","description":"Return season-to-date cumulative GDD for a county over a date range.\n\nPass `start_date=<Jan 1 of current year>` and omit `end_date` for a\nseason-to-date total. Compare to historical GDD norms to assess whether\ncrops are ahead of or behind a typical season's heat accumulation.\n\nReturns summed GDD for corn, soybeans, wheat, cotton, and sorghum.\n\nCosts **1 request**.","operationId":"get_cumulative_gdd_county__fips__cumulative_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Start of accumulation window (YYYY-MM-DD, e.g. Jan 1 of growing season)","title":"Start Date"},"description":"Start of accumulation window (YYYY-MM-DD, e.g. Jan 1 of growing season)"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End of accumulation window (YYYY-MM-DD). Defaults to today.","title":"End Date"},"description":"End of accumulation window (YYYY-MM-DD). Defaults to today."},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GddCumulativeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/gdd/snapshot/{obs_date}":{"get":{"tags":["gdd"],"summary":"Get Snapshot","description":"Return daily GDD for all counties on a specific date.\n\nCosts **1 request per county returned**.","operationId":"get_snapshot_gdd_snapshot__obs_date__get","parameters":[{"name":"obs_date","in":"path","required":true,"schema":{"type":"string","format":"date","description":"Observation date (YYYY-MM-DD). Daily accumulated GDD snapshot.","title":"Obs Date"},"description":"Observation date (YYYY-MM-DD). Daily accumulated GDD snapshot."},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GddSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ndvi/county/{fips}":{"get":{"tags":["ndvi"],"summary":"Get County History","description":"NDVI history for a single county with z-score anomaly vs 25-year baseline.\n\nEach record covers one 16-day MODIS composite period. Ordered newest → oldest.\nCosts **1 request per record returned**.","operationId":"get_county_history_ndvi_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":138,"minimum":1,"description":"Max records (default 46 ≈ 2 years of 16-day periods)","default":46,"title":"Limit"},"description":"Max records (default 46 ≈ 2 years of 16-day periods)"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NdviHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ndvi/county/{fips}/latest":{"get":{"tags":["ndvi"],"summary":"Get County Latest","description":"Most recent NDVI observation for a county, with z-score vs 25-year baseline.\n\nCosts **1 request**.","operationId":"get_county_latest_ndvi_county__fips__latest_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NdviRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ndvi/snapshot/{obs_date}":{"get":{"tags":["ndvi"],"summary":"Get Snapshot","description":"NDVI for all counties on a specific 16-day composite date.\n\nUse the exact obs_date stored in the database (MODIS composite start dates).\nCosts **1 request per county returned**. Requires **growth** plan.","operationId":"get_snapshot_ndvi_snapshot__obs_date__get","parameters":[{"name":"obs_date","in":"path","required":true,"schema":{"type":"string","format":"date","description":"Observation date (YYYY-MM-DD). MODIS composites are approximately 8-day periods; the nearest available date is returned.","title":"Obs Date"},"description":"Observation date (YYYY-MM-DD). MODIS composites are approximately 8-day periods; the nearest available date is returned."},{"name":"state","in":"query","required":false,"schema":{"type":"string","description":"Filter by 2-letter state abbreviation, e.g. IA","title":"State"},"description":"Filter by 2-letter state abbreviation, e.g. IA"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NdviSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/nri/county/{fips}":{"get":{"tags":["nri"],"summary":"Get County Nri","description":"Return FEMA National Risk Index scores for a county.\n\nIncludes the composite NRI risk score, Expected Annual Loss, Social\nVulnerability, and Community Resilience indices, plus per-hazard scores\nfor all 17 NRI hazard types.\n\nNRI data is refreshed annually each December.\n\nCosts **1 request**.","operationId":"get_county_nri_nri_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NriCounty"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/flood-zones/county/{fips}":{"get":{"tags":["flood-zones"],"summary":"Get Flood Zones","description":"Return FEMA NFHL flood zone area percentages for a county.\n\nReports what share of the county's land area falls within each FEMA flood\nrisk category — Special Flood Hazard Area (SFHA), moderate risk (0.2%\nannual chance), and minimal risk zones.\n\nData is sourced from the FEMA National Flood Hazard Layer and refreshed\nquarterly.\n\nCosts **1 request**.","operationId":"get_flood_zones_flood_zones_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloodZones"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rma/county/{fips}":{"get":{"tags":["rma"],"summary":"Get County Rma","description":"Return RMA crop insurance loss history for a county.\n\nAggregates RMA Cause of Loss records across all crops, insurance plans,\nand months within the requested year window.  Includes:\n\n- **summary** — total indemnity, premium, and loss ratio over the window\n- **drought_stats** — drought-specific indemnity, event count, and share (isolated via cause code 58 = \"Drought\")\n- **top_loss_causes** — up to 10 causes ranked by indemnity paid\n- **by_year** — annual breakdown of indemnity, premium, and top cause\n\nRMA data is published annually each spring for the prior crop year.\nHistorical data is available from 1989 onward.\n\nCosts **1 request**.","operationId":"get_county_rma_rma_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"First commodity year (inclusive)","title":"Start Year"},"description":"First commodity year (inclusive)"},{"name":"end_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Last commodity year (inclusive)","title":"End Year"},"description":"Last commodity year (inclusive)"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RmaCounty"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/yields/county/{fips}":{"get":{"tags":["yields"],"summary":"Get County Yield Volatility","description":"Return yield trend and volatility metrics for all crops in a county.\n\nIncludes OLS trend slope, short-run 5-year slope, trend divergence,\nmean yield, standard deviation, coefficient of variation (CV), and\nbelow-trend frequency.\n\nCosts **1 request**.","operationId":"get_county_yield_volatility_yields_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountyYieldVolatility"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/climate-risk/county/{fips}":{"get":{"tags":["climate-risk"],"summary":"Get County Climate Risk","description":"Return long-run climate and peril frequency indicators for a county.\n\nDerived from PRISM daily observations (2000–present) and USDM drought\ndata (2000–present). Covers drought frequency, heat-stress days, frost\ndays, excess moisture events, and precipitation variability.\n\nCosts **1 request**.","operationId":"get_county_climate_risk_climate_risk_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountyClimateRisk"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crops/county/{fips}":{"get":{"tags":["crops"],"summary":"Get County History","description":"Return USDA NASS annual crop yield history for a single county.\n\nSource: USDA National Agricultural Statistics Service (NASS), published\nannually. Historical data available from the mid-1900s for most counties.\n\nOptionally filter by `crop` and year range; returns all crops if `crop` is omitted.\n\nKey response field: `yield_vs_trend_pct` — deviation from the county's\nlong-run OLS yield trend (positive = above-trend, negative = below-trend).\nUseful for identifying stress-induced yield loss relative to historical norms.\n\nCosts **1 request per record returned**.","operationId":"get_county_history_crops_county__fips__get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"crop","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Crop code. One of: CORN, COTTON, SORGHUM, SOYBEANS, WHEAT_WINTER","title":"Crop"},"description":"Crop code. One of: CORN, COTTON, SORGHUM, SOYBEANS, WHEAT_WINTER"},{"name":"start_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1900},{"type":"null"}],"title":"Start Year"}},{"name":"end_year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100},{"type":"null"}],"title":"End Year"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crops/county/{fips}/latest":{"get":{"tags":["crops"],"summary":"Get County Latest","description":"Return the most recent year of data for all crops for a county.\n\nCosts **1 request per record returned** (one per crop).","operationId":"get_county_latest_crops_county__fips__latest_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crops/snapshot/{year}":{"get":{"tags":["crops"],"summary":"Get Snapshot","description":"Return yields for all counties for a specific year and crop.\n\nCosts **1 request per county returned** (~1,200–1,500 counties for major crops).","operationId":"get_snapshot_crops_snapshot__year__get","parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"crop","in":"query","required":true,"schema":{"type":"string","description":"Crop code. One of: CORN, COTTON, SORGHUM, SOYBEANS, WHEAT_WINTER","title":"Crop"},"description":"Crop code. One of: CORN, COTTON, SORGHUM, SOYBEANS, WHEAT_WINTER"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropSnapshotResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crop-progress/state/{state_fips}":{"get":{"tags":["Crop Progress"],"summary":"Get State Progress","description":"Return USDA NASS weekly crop progress percentages for a state.\n\nSource: USDA NASS Crop Progress report, released each Monday.\nReports the share of planted/emerged/silked/harvested area at each crop\ndevelopment stage. Covers CORN, SOYBEANS, WINTER WHEAT, COTTON, SORGHUM,\nand more depending on the state.\n\nReturns the latest week by default. Pass `week_ending` for a specific week\nor `crop` to filter to one crop.\n\nCosts **1 request per record returned**.","operationId":"get_state_progress_crop_progress_state__state_fips__get","parameters":[{"name":"state_fips","in":"path","required":true,"schema":{"type":"string","title":"State Fips"}},{"name":"crop","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by crop (e.g. CORN, SOYBEANS)","title":"Crop"},"description":"Filter by crop (e.g. CORN, SOYBEANS)"},{"name":"week_ending","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"Week ending date (YYYY-MM-DD). Defaults to latest available.","title":"Week Ending"},"description":"Week ending date (YYYY-MM-DD). Defaults to latest available."},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropProgressResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/crop-progress/state/{state_fips}/season":{"get":{"tags":["Crop Progress"],"summary":"Get State Season","description":"Full season progress curve for a crop in a state.\n\nReturns all weeks for the given year so you can chart planting-to-harvest progression.\nCosts **1 request per record returned**.","operationId":"get_state_season_crop_progress_state__state_fips__season_get","parameters":[{"name":"state_fips","in":"path","required":true,"schema":{"type":"string","title":"State Fips"}},{"name":"crop","in":"query","required":true,"schema":{"type":"string","description":"Crop code (e.g. CORN, SOYBEANS)","title":"Crop"},"description":"Crop code (e.g. CORN, SOYBEANS)"},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Year. Defaults to the most recent year with data.","title":"Year"},"description":"Year. Defaults to the most recent year with data."},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropProgressResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/county/{fips}/summary":{"get":{"tags":["summary"],"summary":"Get County Summary","description":"Return a single joined snapshot for a county across all datasets.\n\nAggregates the latest available observation from each source:\n- **Drought** (USDM) — current D0–D4 categories and severity\n- **Precipitation** (PRISM) — 7/30/90-day rolling sums and VPD\n- **Soil moisture** (NASA SMAP) — latest volumetric water content + z-score anomaly\n- **GDD** (PRISM-derived) — season-to-date and prior-year comparison\n- **NDVI** (MODIS) — most recent vegetation index + 25-year z-score anomaly\n- **Crops** (USDA NASS) — most recent year's yields across all tracked crops\n- **NRI** (FEMA) — composite and ag-relevant natural hazard risk scores\n\nCosts **5 requests**.","operationId":"get_county_summary_county__fips__summary_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountySummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/county/{fips}/crop-stress-index":{"get":{"tags":["risk"],"summary":"Get Crop Stress Index","description":"Composite 0–100 Crop Stress Index for a county.\n\nScore model is selected automatically based on the county's dominant crop\n(by harvested acres, 5-year average). Falls back to a GENERAL model for\ncounties with no NASS crop data.\n\nHigher score = more stressed. Costs **1 request**. Requires **starter** plan or above.","operationId":"get_crop_stress_index_county__fips__crop_stress_index_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropStressIndexResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/county/{fips}/crop-stress-index/history":{"get":{"tags":["risk"],"summary":"Get Crop Stress Index History","description":"Crop Stress Index time series for a county, anchored to USDM drought release dates.\n\nFor each drought observation date, queries the nearest available\nprecipitation, soil moisture, and GDD data and computes the composite\nCrop Stress Index. Ordered newest → oldest.\n\nCosts **1 request per date returned** (each date runs multiple dataset queries).\nRequires **starter** plan or above.","operationId":"get_crop_stress_index_history_county__fips__crop_stress_index_history_get","parameters":[{"name":"fips","in":"path","required":true,"schema":{"type":"string","title":"Fips"}},{"name":"start_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"Start date in YYYY-MM-DD format, inclusive","title":"Start Date"},"description":"Start date in YYYY-MM-DD format, inclusive"},{"name":"end_date","in":"query","required":false,"schema":{"type":"string","format":"date","description":"End date in YYYY-MM-DD format, inclusive","title":"End Date"},"description":"End date in YYYY-MM-DD format, inclusive"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":130,"minimum":1,"default":52,"title":"Limit"}},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CropStressIndexHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portfolio/summary":{"post":{"tags":["portfolio"],"summary":"Get Portfolio Summary","description":"Return a county summary for each FIPS code in the request body.\n\nEach FIPS counts as **5 requests** toward your daily rate limit.\nMaximum **100 counties** per call on Growth, **500 counties** on Pro.\n\nRequires **growth** plan.","operationId":"get_portfolio_summary_portfolio_summary_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/compare/counties":{"post":{"tags":["compare"],"summary":"Compare Counties","description":"Return side-by-side risk profiles for up to 10 counties.\n\nEach profile includes yield volatility (primary crop), climate risk,\ncurrent drought state, 10-year RMA loss summary, Crop Stress Index,\nand pre-computed renewal risk flags.\n\nCosts **2 requests per FIPS**. Requires **growth** plan.","operationId":"compare_counties_compare_counties_post","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/risk-alerts":{"get":{"tags":["risk-alerts"],"summary":"Get Risk Alerts","description":"Return counties with active renewal risk flags.\n\nAlert conditions (hardcoded thresholds — run `build_risk_flags.py` to refresh):\n\n- **drought**: D2+ drought severity with 'persistent' or 'deepening' regime\n- **trend**: 3+ of the last 5 data years below the long-run yield trend\n- **volatility**: yield CV above the 75th percentile nationally for the county's primary crop\n- **climate**: heat-stress days (10-year) above the 75th percentile nationally\n\nCosts **5 requests**. Requires **growth** plan.","operationId":"get_risk_alerts_risk_alerts_get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by two-letter state abbreviation (e.g. IA, KS)","title":"State"},"description":"Filter by two-letter state abbreviation (e.g. IA, KS)"},{"name":"alert_type","in":"query","required":false,"schema":{"enum":["drought","trend","volatility","climate","any"],"type":"string","description":"Which alert flag to filter by. 'any' returns counties with at least one active flag.","default":"any","title":"Alert Type"},"description":"Which alert flag to filter by. 'any' returns counties with at least one active flag."},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Risk Alerts Risk Alerts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/account/status":{"get":{"tags":["account"],"summary":"Get Account Status","description":"Return usage and plan details for the authenticated API key.","operationId":"get_account_status_account_status_get","parameters":[{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountStatus"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/counties/":{"get":{"tags":["counties"],"summary":"List Counties","description":"List all counties with their FIPS codes.\n\nPass `?state=IA` to filter by state. Returns county name, state abbreviation,\nand 5-digit FIPS code for each county.\n\nDoes **not** count against your daily request limit.","operationId":"list_counties_counties__get","parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Two-letter state abbreviation, e.g. IA","title":"State"},"description":"Two-letter state abbreviation, e.g. IA"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/counties/search":{"get":{"tags":["counties"],"summary":"Search Counties","description":"Search counties by name (case-insensitive partial match).\n\nExample: `?q=Johnson` returns Johnson County in all states.\nCombine with `?state=IA` to narrow to a single state.\n\nDoes **not** count against your daily request limit.","operationId":"search_counties_counties_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","description":"County name to search for (partial match, case-insensitive)","title":"Q"},"description":"County name to search for (partial match, case-insensitive)"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optionally restrict to a single state, e.g. IA","title":"State"},"description":"Optionally restrict to a single state, e.g. IA"},{"name":"X-API-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountStatus":{"properties":{"tier":{"type":"string","title":"Tier"},"requests_today":{"type":"integer","title":"Requests Today"},"requests_per_day":{"type":"integer","title":"Requests Per Day"},"requests_remaining":{"type":"integer","title":"Requests Remaining"},"history_years":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"History Years"},"resets_at":{"type":"string","title":"Resets At"},"key_prefix":{"type":"string","title":"Key Prefix"}},"type":"object","required":["tier","requests_today","requests_per_day","requests_remaining","history_years","resets_at","key_prefix"],"title":"AccountStatus"},"CompareRequest":{"properties":{"fips":{"items":{"type":"string"},"type":"array","title":"Fips"},"include_crop_stress_index":{"type":"boolean","title":"Include Crop Stress Index","default":true}},"type":"object","required":["fips"],"title":"CompareRequest"},"CompareResponse":{"properties":{"count":{"type":"integer","title":"Count"},"counties":{"items":{"$ref":"#/components/schemas/CountyProfile"},"type":"array","title":"Counties"}},"type":"object","required":["count","counties"],"title":"CompareResponse"},"CountyClimateRisk":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"drought_weeks_10y":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Drought Weeks 10Y"},"drought_freq_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Drought Freq Pct"},"extreme_drought_weeks_10y":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Extreme Drought Weeks 10Y"},"heat_stress_days_10y":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Heat Stress Days 10Y"},"heat_stress_days_avg_annual":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Heat Stress Days Avg Annual"},"frost_days_10y":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frost Days 10Y"},"frost_days_avg_annual":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frost Days Avg Annual"},"excess_moisture_days_10y":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Excess Moisture Days 10Y"},"annual_precip_mean_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Annual Precip Mean Mm"},"annual_precip_cv":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Annual Precip Cv"},"prism_years":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Prism Years"},"drought_years":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Drought Years"}},"type":"object","required":["fips","county_name","state_abbr","drought_weeks_10y","drought_freq_pct","extreme_drought_weeks_10y","heat_stress_days_10y","heat_stress_days_avg_annual","frost_days_10y","frost_days_avg_annual","excess_moisture_days_10y","annual_precip_mean_mm","annual_precip_cv","prism_years","drought_years"],"title":"CountyClimateRisk"},"CountyListResponse":{"properties":{"count":{"type":"integer","title":"Count"},"counties":{"items":{"$ref":"#/components/schemas/CountyRecord"},"type":"array","title":"Counties"}},"type":"object","required":["count","counties"],"title":"CountyListResponse"},"CountyProfile":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"primary_crop":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Crop"},"drought":{"anyOf":[{"$ref":"#/components/schemas/DroughtSummary"},{"type":"null"}]},"yield_volatility":{"anyOf":[{"$ref":"#/components/schemas/YieldVolatilitySummary"},{"type":"null"}]},"climate_risk":{"anyOf":[{"$ref":"#/components/schemas/CountyClimateRisk"},{"type":"null"}]},"rma":{"anyOf":[{"$ref":"#/components/schemas/RmaSummary"},{"type":"null"}]},"crop_stress_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Crop Stress Index"},"stress_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stress Rating"},"risk_flags":{"anyOf":[{"$ref":"#/components/schemas/RiskFlags"},{"type":"null"}]}},"type":"object","required":["fips","county_name","state_abbr","primary_crop","drought","yield_volatility","climate_risk","rma","crop_stress_index","stress_rating","risk_flags"],"title":"CountyProfile"},"CountyRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"type":"string","title":"County Name"},"state_abbr":{"type":"string","title":"State Abbr"}},"type":"object","required":["fips","county_name","state_abbr"],"title":"CountyRecord"},"CountySummary":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"drought":{"anyOf":[{"$ref":"#/components/schemas/DroughtSummary"},{"type":"null"}]},"precipitation":{"anyOf":[{"$ref":"#/components/schemas/PrecipSummary"},{"type":"null"}]},"soil_moisture":{"anyOf":[{"$ref":"#/components/schemas/SoilMoistureSummary"},{"type":"null"}]},"ndvi":{"anyOf":[{"$ref":"#/components/schemas/NdviSummary"},{"type":"null"}]},"gdd":{"anyOf":[{"$ref":"#/components/schemas/GddSummary"},{"type":"null"}]},"crop_yields":{"items":{"$ref":"#/components/schemas/CropYieldSummary"},"type":"array","title":"Crop Yields"},"crop_progress":{"anyOf":[{"$ref":"#/components/schemas/CropProgressSummary"},{"type":"null"}]},"nri":{"anyOf":[{"$ref":"#/components/schemas/NriSummary"},{"type":"null"}]}},"type":"object","required":["fips","county_name","state_abbr","drought","precipitation","soil_moisture","ndvi","gdd","crop_yields","crop_progress","nri"],"title":"CountySummary"},"CountyYieldVolatility":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"crops":{"items":{"$ref":"#/components/schemas/CropYieldVolatility"},"type":"array","title":"Crops"}},"type":"object","required":["fips","county_name","state_abbr","crops"],"title":"CountyYieldVolatility"},"CropHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"crop":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Crop"},"records":{"items":{"$ref":"#/components/schemas/CropYieldRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","crop","records"],"title":"CropHistoryResponse"},"CropProgressResponse":{"properties":{"state_fips":{"type":"string","title":"State Fips"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/CropProgressRow"},"type":"array","title":"Records"}},"type":"object","required":["state_fips","count","records"],"title":"CropProgressResponse"},"CropProgressRow":{"properties":{"state_fips":{"type":"string","title":"State Fips"},"week_ending":{"type":"string","format":"date","title":"Week Ending"},"crop":{"type":"string","title":"Crop"},"stage":{"type":"string","title":"Stage"},"progress_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Progress Pct"}},"type":"object","required":["state_fips","week_ending","crop","stage","progress_pct"],"title":"CropProgressRow"},"CropProgressSummary":{"properties":{"state_fips":{"type":"string","title":"State Fips"},"week_ending":{"type":"string","format":"date","title":"Week Ending"},"data_age_days":{"type":"integer","title":"Data Age Days"},"crops":{"additionalProperties":{"additionalProperties":{"type":"number"},"type":"object"},"type":"object","title":"Crops"}},"type":"object","required":["state_fips","week_ending","data_age_days","crops"],"title":"CropProgressSummary"},"CropSnapshotResponse":{"properties":{"year":{"type":"integer","title":"Year"},"crop":{"type":"string","title":"Crop"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/CropYieldRecord"},"type":"array","title":"Records"}},"type":"object","required":["year","crop","count","records"],"title":"CropSnapshotResponse"},"CropStressIndexHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"crop":{"type":"string","title":"Crop"},"model_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Note"},"records":{"items":{"$ref":"#/components/schemas/CropStressIndexRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","county_name","state_abbr","crop","records"],"title":"CropStressIndexHistoryResponse"},"CropStressIndexRecord":{"properties":{"as_of":{"type":"string","format":"date","title":"As Of"},"score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Score"},"rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rating"},"components":{"$ref":"#/components/schemas/StressComponents"},"data_coverage_pct":{"type":"integer","title":"Data Coverage Pct"}},"type":"object","required":["as_of","score","rating","components","data_coverage_pct"],"title":"CropStressIndexRecord"},"CropStressIndexResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"as_of":{"type":"string","format":"date","title":"As Of"},"score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Score"},"rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rating"},"crop":{"type":"string","title":"Crop"},"components":{"$ref":"#/components/schemas/StressComponents"},"data_coverage_pct":{"type":"integer","title":"Data Coverage Pct"},"model_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Note"}},"type":"object","required":["fips","county_name","state_abbr","as_of","score","rating","crop","components","data_coverage_pct"],"title":"CropStressIndexResponse"},"CropYieldRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"year":{"type":"integer","title":"Year"},"crop":{"type":"string","title":"Crop"},"yield_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Value"},"yield_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Yield Unit"},"acres_harvested":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Acres Harvested"},"yield_vs_trend_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Vs Trend Pct"}},"type":"object","required":["fips","year","crop","yield_value","yield_unit","acres_harvested"],"title":"CropYieldRecord"},"CropYieldSummary":{"properties":{"year":{"type":"integer","title":"Year"},"crop":{"type":"string","title":"Crop"},"yield_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Value"},"yield_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Yield Unit"},"acres_harvested":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Acres Harvested"},"below_trend_5y":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Below Trend 5Y"}},"type":"object","required":["year","crop","yield_value","yield_unit","acres_harvested"],"title":"CropYieldSummary"},"CropYieldVolatility":{"properties":{"crop":{"type":"string","title":"Crop"},"yield_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Mean"},"yield_std":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Std"},"yield_cv":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Cv"},"slope":{"type":"number","title":"Slope"},"slope_5y":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Slope 5Y"},"trend_divergence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Trend Divergence"},"pct_years_below_trend":{"type":"number","title":"Pct Years Below Trend"},"below_trend_5y":{"type":"integer","title":"Below Trend 5Y"},"n_years":{"type":"integer","title":"N Years"},"start_year":{"type":"integer","title":"Start Year"},"end_year":{"type":"integer","title":"End Year"}},"type":"object","required":["crop","yield_mean","yield_std","yield_cv","slope","slope_5y","trend_divergence","pct_years_below_trend","below_trend_5y","n_years","start_year","end_year"],"title":"CropYieldVolatility"},"DroughtHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"records":{"items":{"$ref":"#/components/schemas/DroughtRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","records"],"title":"DroughtHistoryResponse"},"DroughtMetricsHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"records":{"items":{"$ref":"#/components/schemas/DroughtMetricsRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","records"],"title":"DroughtMetricsHistoryResponse"},"DroughtMetricsRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"valid_date":{"type":"string","format":"date","title":"Valid Date"},"severity_change_1w":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Severity Change 1W"},"severity_change_4w":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Severity Change 4W"},"avg_severity_4w":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Severity 4W"},"avg_severity_12w":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Severity 12W"},"weeks_in_drought":{"type":"integer","title":"Weeks In Drought"},"weeks_at_severity":{"type":"integer","title":"Weeks At Severity"},"severity_percentile_20y":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Severity Percentile 20Y"},"burden_52w":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Burden 52W"},"severity_anomaly":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Severity Anomaly"},"drought_regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Drought Regime"}},"type":"object","required":["fips","valid_date","severity_change_1w","severity_change_4w","avg_severity_4w","avg_severity_12w","weeks_in_drought","weeks_at_severity","severity_percentile_20y","burden_52w","severity_anomaly","drought_regime"],"title":"DroughtMetricsRecord"},"DroughtMetricsSnapshotResponse":{"properties":{"valid_date":{"type":"string","format":"date","title":"Valid Date"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/DroughtMetricsRecord"},"type":"array","title":"Records"}},"type":"object","required":["valid_date","count","records"],"title":"DroughtMetricsSnapshotResponse"},"DroughtRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"drought_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Drought Category"},"drought_severity":{"type":"integer","title":"Drought Severity"},"d0_pct":{"type":"number","title":"D0 Pct"},"d1_pct":{"type":"number","title":"D1 Pct"},"d2_pct":{"type":"number","title":"D2 Pct"},"d3_pct":{"type":"number","title":"D3 Pct"},"d4_pct":{"type":"number","title":"D4 Pct"},"valid_date":{"type":"string","format":"date","title":"Valid Date"}},"type":"object","required":["fips","county_name","state_abbr","drought_category","drought_severity","d0_pct","d1_pct","d2_pct","d3_pct","d4_pct","valid_date"],"title":"DroughtRecord"},"DroughtSnapshotResponse":{"properties":{"valid_date":{"type":"string","format":"date","title":"Valid Date"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/DroughtRecord"},"type":"array","title":"Records"}},"type":"object","required":["valid_date","count","records"],"title":"DroughtSnapshotResponse"},"DroughtSummary":{"properties":{"valid_date":{"type":"string","format":"date","title":"Valid Date"},"severity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Severity"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Regime"},"weeks_in_drought":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Weeks In Drought"},"severity_change_4w":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Severity Change 4W"},"burden_52w":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Burden 52W"}},"type":"object","required":["valid_date","severity","category","regime","weeks_in_drought","severity_change_4w","burden_52w"],"title":"DroughtSummary"},"FloodZones":{"properties":{"fips":{"type":"string","title":"Fips"},"sfha_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sfha Pct"},"moderate_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Moderate Pct"},"minimal_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimal Pct"},"mapped_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mapped Pct"}},"type":"object","required":["fips","sfha_pct","moderate_pct","minimal_pct","mapped_pct"],"title":"FloodZones"},"GddCumulativeResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"start_date":{"type":"string","format":"date","title":"Start Date"},"end_date":{"type":"string","format":"date","title":"End Date"},"gdd_corn":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Corn"},"gdd_soybeans":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Soybeans"},"gdd_wheat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Wheat"},"gdd_cotton":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Cotton"},"gdd_sorghum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Sorghum"}},"type":"object","required":["fips","start_date","end_date","gdd_corn","gdd_soybeans","gdd_wheat","gdd_cotton","gdd_sorghum"],"title":"GddCumulativeResponse"},"GddHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"records":{"items":{"$ref":"#/components/schemas/GddRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","records"],"title":"GddHistoryResponse"},"GddRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"obs_date":{"type":"string","format":"date","title":"Obs Date"},"gdd_corn":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Corn"},"gdd_soybeans":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Soybeans"},"gdd_wheat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Wheat"},"gdd_cotton":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Cotton"},"gdd_sorghum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Sorghum"}},"type":"object","required":["fips","obs_date","gdd_corn","gdd_soybeans","gdd_wheat","gdd_cotton","gdd_sorghum"],"title":"GddRecord"},"GddSnapshotResponse":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/GddRecord"},"type":"array","title":"Records"}},"type":"object","required":["obs_date","count","records"],"title":"GddSnapshotResponse"},"GddSummary":{"properties":{"season_start":{"type":"string","format":"date","title":"Season Start"},"as_of":{"type":"string","format":"date","title":"As Of"},"gdd_corn":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Corn"},"gdd_soybeans":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Soybeans"},"gdd_wheat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Wheat"},"gdd_cotton":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Cotton"},"gdd_sorghum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Sorghum"},"gdd_corn_prior_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Corn Prior Year"},"gdd_soybeans_prior_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Soybeans Prior Year"},"gdd_wheat_prior_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Wheat Prior Year"},"gdd_cotton_prior_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Cotton Prior Year"},"gdd_sorghum_prior_year":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gdd Sorghum Prior Year"}},"type":"object","required":["season_start","as_of","gdd_corn","gdd_soybeans","gdd_wheat","gdd_cotton","gdd_sorghum","gdd_corn_prior_year","gdd_soybeans_prior_year","gdd_wheat_prior_year","gdd_cotton_prior_year","gdd_sorghum_prior_year"],"title":"GddSummary"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"NdviHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"records":{"items":{"$ref":"#/components/schemas/NdviRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","records"],"title":"NdviHistoryResponse"},"NdviRecord":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"ndvi_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ndvi Mean"},"ndvi_z_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ndvi Z Score"},"evi_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Evi Mean"},"pixel_reliability":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pixel Reliability"},"doy_period":{"type":"integer","title":"Doy Period"}},"type":"object","required":["obs_date","ndvi_mean","ndvi_z_score","evi_mean","pixel_reliability","doy_period"],"title":"NdviRecord"},"NdviSnapshotRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"ndvi_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ndvi Mean"},"ndvi_z_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ndvi Z Score"},"doy_period":{"type":"integer","title":"Doy Period"},"pixel_reliability":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pixel Reliability"}},"type":"object","required":["fips","ndvi_mean","ndvi_z_score","doy_period","pixel_reliability"],"title":"NdviSnapshotRecord"},"NdviSnapshotResponse":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/NdviSnapshotRecord"},"type":"array","title":"Records"}},"type":"object","required":["obs_date","count","records"],"title":"NdviSnapshotResponse"},"NdviSummary":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"ndvi_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ndvi Mean"},"ndvi_z_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ndvi Z Score"},"doy_period":{"type":"integer","title":"Doy Period"}},"type":"object","required":["obs_date","ndvi_mean","ndvi_z_score","doy_period"],"title":"NdviSummary"},"NriCounty":{"properties":{"fips":{"type":"string","title":"Fips"},"population":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population"},"building_value_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Building Value Usd"},"agri_value_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agri Value Usd"},"area_sqmi":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Area Sqmi"},"risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Risk Score"},"risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Rating"},"eal_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eal Score"},"eal_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eal Rating"},"eal_total_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Eal Total Usd"},"sovi_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sovi Score"},"sovi_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sovi Rating"},"resl_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resl Score"},"resl_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resl Rating"},"avalanche":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"coastal_flooding":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"cold_wave":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"drought":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"earthquake":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"hail":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"heat_wave":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"hurricane":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"inland_flooding":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"ice_storm":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"landslide":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"lightning":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"strong_wind":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"tornado":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"tsunami":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"volcanic_activity":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]},"wildfire":{"anyOf":[{"$ref":"#/components/schemas/NriHazard"},{"type":"null"}]}},"type":"object","required":["fips","population","building_value_usd","agri_value_usd","area_sqmi","risk_score","risk_rating","eal_score","eal_rating","eal_total_usd","sovi_score","sovi_rating","resl_score","resl_rating","avalanche","coastal_flooding","cold_wave","drought","earthquake","hail","heat_wave","hurricane","inland_flooding","ice_storm","landslide","lightning","strong_wind","tornado","tsunami","volcanic_activity","wildfire"],"title":"NriCounty"},"NriHazard":{"properties":{"risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Risk Score"},"risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Rating"},"eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Eal Usd"},"alr":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Alr"}},"type":"object","required":["risk_score","risk_rating","eal_usd","alr"],"title":"NriHazard"},"NriSummary":{"properties":{"risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Risk Score"},"risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Rating"},"eal_total_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Eal Total Usd"},"agri_value_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Agri Value Usd"},"drgt_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Drgt Risk Score"},"drgt_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Drgt Risk Rating"},"ifld_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ifld Risk Score"},"ifld_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ifld Risk Rating"},"hail_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hail Risk Score"},"hail_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hail Risk Rating"},"trnd_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Trnd Risk Score"},"trnd_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trnd Risk Rating"},"wfir_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wfir Risk Score"},"wfir_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wfir Risk Rating"},"swnd_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Swnd Risk Score"},"swnd_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Swnd Risk Rating"},"hwav_risk_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Hwav Risk Score"},"hwav_risk_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hwav Risk Rating"},"sovi_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sovi Score"},"resl_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Resl Score"},"drgt_eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Drgt Eal Usd"},"ifld_eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ifld Eal Usd"},"hail_eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hail Eal Usd"},"trnd_eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Trnd Eal Usd"},"hwav_eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hwav Eal Usd"},"swnd_eal_usd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Swnd Eal Usd"}},"type":"object","required":["risk_score","risk_rating","eal_total_usd","agri_value_usd","drgt_risk_score","drgt_risk_rating","ifld_risk_score","ifld_risk_rating","hail_risk_score","hail_risk_rating","trnd_risk_score","trnd_risk_rating","wfir_risk_score","wfir_risk_rating","swnd_risk_score","swnd_risk_rating","hwav_risk_score","hwav_risk_rating","sovi_score","resl_score","drgt_eal_usd","ifld_eal_usd","hail_eal_usd","trnd_eal_usd","hwav_eal_usd","swnd_eal_usd"],"title":"NriSummary"},"PortfolioItem":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"drought":{"anyOf":[{"$ref":"#/components/schemas/DroughtSummary"},{"type":"null"}]},"precipitation":{"anyOf":[{"$ref":"#/components/schemas/PrecipSummary"},{"type":"null"}]},"soil_moisture":{"anyOf":[{"$ref":"#/components/schemas/SoilMoistureSummary"},{"type":"null"}]},"ndvi":{"anyOf":[{"$ref":"#/components/schemas/NdviSummary"},{"type":"null"}]},"gdd":{"anyOf":[{"$ref":"#/components/schemas/GddSummary"},{"type":"null"}]},"crop_yields":{"items":{"$ref":"#/components/schemas/CropYieldSummary"},"type":"array","title":"Crop Yields"},"crop_progress":{"anyOf":[{"$ref":"#/components/schemas/CropProgressSummary"},{"type":"null"}]},"nri":{"anyOf":[{"$ref":"#/components/schemas/NriSummary"},{"type":"null"}]},"crop_stress_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Crop Stress Index"},"stress_rating":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stress Rating"}},"type":"object","required":["fips","county_name","state_abbr","drought","precipitation","soil_moisture","ndvi","gdd","crop_yields","crop_progress","nri"],"title":"PortfolioItem"},"PortfolioRequest":{"properties":{"fips":{"items":{"type":"string"},"type":"array","title":"Fips"},"include_crop_stress_index":{"type":"boolean","title":"Include Crop Stress Index","default":false}},"type":"object","required":["fips"],"title":"PortfolioRequest"},"PortfolioResponse":{"properties":{"count":{"type":"integer","title":"Count"},"items":{"items":{"$ref":"#/components/schemas/PortfolioItem"},"type":"array","title":"Items"}},"type":"object","required":["count","items"],"title":"PortfolioResponse"},"PrecipHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"records":{"items":{"$ref":"#/components/schemas/PrecipRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","records"],"title":"PrecipHistoryResponse"},"PrecipRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"obs_date":{"type":"string","format":"date","title":"Obs Date"},"precip_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip Mm"},"tmax_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tmax C"},"tmin_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tmin C"},"vpdmax_hpa":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vpdmax Hpa"},"cell_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cell Count"}},"type":"object","required":["fips","obs_date","precip_mm","tmax_c","tmin_c","vpdmax_hpa","cell_count"],"title":"PrecipRecord"},"PrecipSnapshotResponse":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/PrecipRecord"},"type":"array","title":"Records"}},"type":"object","required":["obs_date","count","records"],"title":"PrecipSnapshotResponse"},"PrecipSummary":{"properties":{"latest_date":{"type":"string","format":"date","title":"Latest Date"},"precip_7d_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip 7D Mm"},"precip_30d_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip 30D Mm"},"precip_90d_mm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Precip 90D Mm"},"tmax_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tmax C"},"tmin_c":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tmin C"},"vpdmax_hpa":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vpdmax Hpa"},"vpd_30d_avg_hpa":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vpd 30D Avg Hpa"}},"type":"object","required":["latest_date","precip_7d_mm","precip_30d_mm","precip_90d_mm","tmax_c","tmin_c","vpdmax_hpa","vpd_30d_avg_hpa"],"title":"PrecipSummary"},"RiskFlags":{"properties":{"drought_alert":{"type":"boolean","title":"Drought Alert"},"trend_alert":{"type":"boolean","title":"Trend Alert"},"volatility_alert":{"type":"boolean","title":"Volatility Alert"},"climate_alert":{"type":"boolean","title":"Climate Alert"},"drought_regime":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Drought Regime"}},"type":"object","required":["drought_alert","trend_alert","volatility_alert","climate_alert","drought_regime"],"title":"RiskFlags"},"RmaCounty":{"properties":{"fips":{"type":"string","title":"Fips"},"county_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"County Name"},"state_abbr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Abbr"},"years_available":{"items":{"type":"integer"},"type":"array","title":"Years Available"},"summary":{"$ref":"#/components/schemas/RmaCountySummary"},"drought_stats":{"$ref":"#/components/schemas/RmaDroughtStats"},"top_loss_causes":{"items":{"$ref":"#/components/schemas/RmaLossCause"},"type":"array","title":"Top Loss Causes"},"by_year":{"items":{"$ref":"#/components/schemas/RmaYearSummary"},"type":"array","title":"By Year"}},"type":"object","required":["fips","county_name","state_abbr","years_available","summary","drought_stats","top_loss_causes","by_year"],"title":"RmaCounty"},"RmaCountySummary":{"properties":{"years":{"type":"integer","title":"Years"},"total_indemnity_usd":{"type":"number","title":"Total Indemnity Usd"},"total_premium_usd":{"type":"number","title":"Total Premium Usd"},"loss_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Loss Ratio"}},"type":"object","required":["years","total_indemnity_usd","total_premium_usd","loss_ratio"],"title":"RmaCountySummary","description":"Aggregate financials over the requested year window."},"RmaDroughtStats":{"properties":{"total_indemnity_usd":{"type":"number","title":"Total Indemnity Usd"},"loss_events":{"type":"integer","title":"Loss Events"},"pct_of_total_indemnity":{"type":"number","title":"Pct Of Total Indemnity"}},"type":"object","required":["total_indemnity_usd","loss_events","pct_of_total_indemnity"],"title":"RmaDroughtStats"},"RmaLossCause":{"properties":{"cause_code":{"type":"integer","title":"Cause Code"},"cause_desc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cause Desc"},"indemnity_usd":{"type":"number","title":"Indemnity Usd"},"pct_of_total":{"type":"number","title":"Pct Of Total"}},"type":"object","required":["cause_code","cause_desc","indemnity_usd","pct_of_total"],"title":"RmaLossCause"},"RmaSummary":{"properties":{"total_indemnity_usd":{"type":"number","title":"Total Indemnity Usd"},"total_premium_usd":{"type":"number","title":"Total Premium Usd"},"loss_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Loss Ratio"},"years":{"type":"integer","title":"Years"}},"type":"object","required":["total_indemnity_usd","total_premium_usd","loss_ratio","years"],"title":"RmaSummary"},"RmaYearSummary":{"properties":{"year":{"type":"integer","title":"Year"},"indemnity_usd":{"type":"number","title":"Indemnity Usd"},"premium_usd":{"type":"number","title":"Premium Usd"},"loss_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Loss Ratio"},"top_cause":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Cause"}},"type":"object","required":["year","indemnity_usd","premium_usd","loss_ratio","top_cause"],"title":"RmaYearSummary"},"SmapHistoryResponse":{"properties":{"fips":{"type":"string","title":"Fips"},"records":{"items":{"$ref":"#/components/schemas/SmapRecord"},"type":"array","title":"Records"}},"type":"object","required":["fips","records"],"title":"SmapHistoryResponse"},"SmapRecord":{"properties":{"fips":{"type":"string","title":"Fips"},"obs_date":{"type":"string","format":"date","title":"Obs Date"},"sm_mean_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Mean Am"},"sm_std_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Std Am"},"cell_count_am":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cell Count Am"},"coverage_pct_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Coverage Pct Am"},"sm_error_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Error Am"},"surface_temp_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Surface Temp Am"},"vwc_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vwc Am"},"freeze_thaw_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Freeze Thaw Am"},"sm_mean_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Mean Pm"},"sm_std_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Std Pm"},"cell_count_pm":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cell Count Pm"},"coverage_pct_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Coverage Pct Pm"},"sm_error_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Error Pm"},"surface_temp_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Surface Temp Pm"},"vwc_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vwc Pm"},"freeze_thaw_pm":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Freeze Thaw Pm"},"sm_z_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Z Score"}},"type":"object","required":["fips","obs_date","sm_mean_am","sm_std_am","cell_count_am","coverage_pct_am","sm_error_am","surface_temp_am","vwc_am","freeze_thaw_am","sm_mean_pm","sm_std_pm","cell_count_pm","coverage_pct_pm","sm_error_pm","surface_temp_pm","vwc_pm","freeze_thaw_pm"],"title":"SmapRecord"},"SmapSnapshotResponse":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"count":{"type":"integer","title":"Count"},"records":{"items":{"$ref":"#/components/schemas/SmapRecord"},"type":"array","title":"Records"}},"type":"object","required":["obs_date","count","records"],"title":"SmapSnapshotResponse"},"SoilMoistureSummary":{"properties":{"obs_date":{"type":"string","format":"date","title":"Obs Date"},"sm_mean_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Mean Am"},"sm_z_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sm Z Score"},"coverage_pct_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Coverage Pct Am"},"vwc_am":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Vwc Am"}},"type":"object","required":["obs_date","sm_mean_am","coverage_pct_am","vwc_am"],"title":"SoilMoistureSummary"},"StressComponents":{"properties":{"drought":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Drought"},"vpd":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vpd"},"precipitation":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Precipitation"},"soil_moisture":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Soil Moisture"},"ndvi_anomaly":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ndvi Anomaly"}},"type":"object","title":"StressComponents"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"YieldVolatilitySummary":{"properties":{"crop":{"type":"string","title":"Crop"},"yield_mean":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Mean"},"yield_cv":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Yield Cv"},"trend_divergence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Trend Divergence"},"pct_years_below_trend":{"type":"number","title":"Pct Years Below Trend"},"below_trend_5y":{"type":"integer","title":"Below Trend 5Y"}},"type":"object","required":["crop","yield_mean","yield_cv","trend_divergence","pct_years_below_trend","below_trend_5y"],"title":"YieldVolatilitySummary"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"}}},"tags":[{"name":"summary","description":"Multi-signal county summary — all datasets joined into one response. Costs 5 requests per call."},{"name":"drought","description":"USDA Drought Monitor (USDM) weekly drought conditions. Severity scale: -1 (none) through 4 (D4 exceptional). Updated every Thursday."},{"name":"precipitation","description":"PRISM daily precipitation (mm), temperature (°C), and vapor pressure deficit (hPa). 4km gridded data aggregated to county level via precomputed weights."},{"name":"soil-moisture","description":"NASA SMAP Level-3 passive microwave soil moisture. Volumetric water content (m³/m³) with z-score anomaly vs. multi-year baseline. ~3-day latency; 9km grid aggregated to counties."},{"name":"gdd","description":"Growing Degree Days derived from PRISM daily min/max temperatures. Available for corn, soybeans, wheat, cotton, and sorghum base temperatures."},{"name":"ndvi","description":"MODIS Terra 16-day NDVI composites via NASA AppEEARS. Includes z-score anomaly vs. 25-year county baseline. Quality-filtered (pixel_reliability ≤ 1)."},{"name":"crops","description":"USDA NASS county-level crop yields (bu/ac, lbs/ac, tons/ac). Covers corn, soybeans, wheat, cotton, sorghum, and more."},{"name":"Crop Progress","description":"USDA NASS weekly crop progress and condition reports by state. Covers planting, emergence, silking, dough, dent, and maturity stages."},{"name":"nri","description":"FEMA National Risk Index — composite and per-hazard risk scores, Expected Annual Loss (EAL), social vulnerability, and community resilience. Covers drought, flooding, hail, tornado, wildfire, severe wind, and heat wave."},{"name":"flood-zones","description":"FEMA FIRM flood zone coverage by county. Percentage of county in SFHA (high-risk), moderate, and minimal flood zones."},{"name":"rma","description":"USDA Risk Management Agency (RMA) crop insurance loss history. Annual indemnities, premiums, and loss ratios by county and crop."},{"name":"yields","description":"Crop yield volatility and trend analytics derived from NASS history. Includes below-trend flags and multi-year yield percentiles."},{"name":"climate-risk","description":"Composite climate risk scores combining drought frequency, soil moisture anomalies, NDVI stress, and NRI hazard ratings."},{"name":"risk","description":"Crop Stress Index (CSI) — multi-signal composite score combining drought, soil moisture, NDVI, and precipitation signals into a single 0–100 stress rating."},{"name":"risk-alerts","description":"County risk alert flags triggered when signals exceed historical thresholds. Useful for automated monitoring and portfolio screening."},{"name":"portfolio","description":"Batch county queries — retrieve signals for up to 100 counties in a single call. Costs 5 requests per county."},{"name":"compare","description":"Side-by-side county comparison across all risk signals."},{"name":"counties","description":"County metadata lookup — search by state, name, or FIPS prefix."},{"name":"account","description":"API key account management — usage stats, tier info, and rate limit status."}],"servers":[{"url":"https://r2data2.com","description":"Production"}],"externalDocs":{"description":"Quickstart & data dictionary","url":"https://r2data2.com/quickstart"},"security":[{"ApiKeyAuth":[]}]}