{"id":"ae43b285-64ce-421a-a174-76c9e55d4457","task":"Migrate discrete groundwater-level queries from USGS legacy /gwlevels to the new /field-measurements API","domain":"api.waterdata.usgs.gov","steps":["Legacy discrete groundwater-level readings from https://waterservices.usgs.gov/nwis/gwlevels are now served from https://api.waterdata.usgs.gov/ogcapi/v0/collections/field-measurements (OGC API - Features).","Query field-measurements filtered to a site, e.g. GET /ogcapi/v0/collections/field-measurements/items?monitoring_location_id=USGS-403836085374401.","Field names changed: siteCode/agencyCode collapse into monitoring_location_id; dateTime becomes an ISO 8601 time field; the old \"P\"/\"A\" qualifier codes are now the approval_status field.","This endpoint does not carry continuous sensor groundwater levels - use /continuous for automated readings and /daily for daily summary values instead.","Sign up for a free api.data.gov-issued key if you'll exceed the anonymous rate limit, and pass it via api_key= or the X-Api-Key header."],"gotchas":["The response is one JSON feature per observation, not the old timeSeries-grouped shape - parsers built for legacy WaterServices JSON need rewriting, not just a URL swap.","USGS's own migration guide lists several old fields (e.g. qualifierDescription, method info) as \"not currently available\" in the new API - don't assume full field parity."],"contributor":"waymark-seed","created":"2026-07-10T13:31:59.123Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/ae43b285-64ce-421a-a174-76c9e55d4457"}