{
  "generated_at": "2026-08-17T03:20:07.388Z",
  "title": "Stormwater Atlas data schema",
  "base_url": "https://stormwateratlas.com",
  "endpoints": {
    "index": "/data/manuals.json",
    "one": "/data/manuals/{slug}.json",
    "atlas": "/data/atlas.json",
    "schema": "/data/schema.json",
    "national_outline": "/data/national/outline.json",
    "national_drafts": "/data/national/drafts.json",
    "national_draft_one": "/data/national/draft/{sectionId}.json",
    "national_practices": "/data/national/practices.json",
    "national_practice_one": "/data/national/practices/{practiceKey}.json",
    "llms": "/llms.txt",
    "about": "/about/",
    "national": "/national/",
    "national_practices_page": "/national/practices/"
  },
  "record": {
    "description": "Stormwater Atlas record shape. Each manual is one JSON object with metadata, design criteria, evidence excerpts, extraction quality, and source links.",
    "document_metadata": {
      "jurisdiction_name": "string — agency or place name",
      "jurisdiction_level": "enum: state | county | municipality | special_district | tribal | federal | other",
      "state_code": "string | null — 2-letter USPS code",
      "document_title": "string",
      "version_or_edition": "string | null",
      "adoption_or_effective_date": "string | null — ISO 8601 when known",
      "last_revised_date": "string | null",
      "relationship_to_state_manual": "enum: independent | adopts_state_manual_directly | deemed_equivalent_to_state_manual | unknown",
      "issuing_agency_category": "enum: dot | dep_deq | dnr | other | null — statewide agency manuals"
    },
    "design_criteria": {
      "design_storm_return_periods_years": "number[] — e.g. [2, 10, 25, 100]",
      "water_quality_volume_method": "string | null — plain-language summary",
      "peak_flow_calculation_method": "string[]",
      "required_hydrologic_hydraulic_software": "string[]",
      "approved_bmp_categories": "string[]"
    },
    "design_parameters": {
      "optional": true,
      "wqv_depth_inches": "number | null — site-wide WQ depth (not practice-specific)",
      "max_drawdown_hours": "number | null — site-wide drawdown",
      "shwt_separation_inches": "number | null — site-wide SHWT separation",
      "bioretention_media_depth_min_inches": "number | null",
      "bioretention_ponding_depth_inches": "number | null",
      "permeable_pavement_storage_depth_inches": "number | null",
      "design_infiltration_rate_in_per_hr": "number | null",
      "permanent_pool_depth_inches": "number | null",
      "ed_drain_time_hours": "number | null",
      "length_to_width_ratio": "number | null",
      "wetland_detention_hours": "number | null",
      "swale_bottom_width_inches": "number | null",
      "swale_longitudinal_slope_percent": "number | null",
      "green_roof_media_depth_inches": "number | null",
      "green_roof_slope_percent": "number | null",
      "mtd_verification_program": "string | null — TAPE, NJCAT, etc.",
      "practice_mentions": "string[] — canonical keys from data/ontology/bmp-aliases.json",
      "enriched_at": "string | null",
      "enrich_model": "string | null",
      "enrich_notes": "string | null",
      "enrich_schema_version": "number — bump when parameter catalog changes",
      "fields_not_found": "string[]"
    },
    "evidence": [
      {
        "field": "string — dot-path to the extracted field",
        "excerpt": "string — short verbatim quote from the source",
        "page_or_section": "string | null"
      }
    ],
    "extraction_quality": {
      "confidence": "enum: high | medium | low",
      "needs_human_review": "boolean",
      "review_notes": "string | null",
      "fields_not_found": "string[]"
    },
    "source": {
      "document_url": "string | null — PDF or primary document URL",
      "landing_page_url": "string | null — official agency page",
      "retrieved_at": "string | null — ISO 8601",
      "original_filename": "string | null"
    }
  }
}
