# AEML Gauge – Flood Risk & River Anomaly Check

> AEML Gauge – Flood Risk & River Anomaly Check is a paid API for AI agents from aeml-x402.zeabur.app, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-13).

Returns current flood-risk readings for a river gauge (gage height / streamflow / flood stage / flood category) versus official USGS/NOAA thresholds, plus 5-year seasonal anomaly statistics and a verifiable record hash.

## Facts

- Endpoint: GET https://aeml-x402.zeabur.app/gauge
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aeml-gauge-flood-risk-river-anomaly-check-bbb8ad9c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_F7nhkYIM4ieLNE3KwyYyK

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aeml-gauge-flood-risk-river-anomaly-check-bbb8ad9c
```

Example prompt: Can you check the current flood risk for the Sacramento River gauge — is the gage height above the official flood stage threshold, and is that reading anomalous compared to the same season over the last 5 years? Use signal_id flood.river and entity sacramento-ca.

## When to prefer this

Choose this endpoint when you need official USGS/NOAA flood threshold comparisons (gage height, streamflow, flood stage, flood category) for a specific river gauge combined with seasonal anomaly context, without needing your own API keys or data pipeline. It is especially valuable when you need cryptographically verifiable, citable readings (record_hash + Ed25519 signature) for audit trails, insurance, or compliance use cases. Prefer this over raw USGS/NOAA APIs when you want pre-normalized, pre-stratified, ready-to-interpret data in a single pay-per-call call.

## Known failure modes

- Invalid or unknown signal_id returns 422 with explanation
- No official flood threshold exists for the requested gauge (no ruler available) returns 422 + no_ch flag
- Gauge station data temporarily unavailable from USGS/NOAA upstream
- Insufficient historical data for 5-year strata returns null strata field
- Missing required query parameters (signal_id or entity) returns error
- Payment not processed — x402 payment required before data is returned

## How this service works

[SIGNAL+PROOF] One official signal record for any signal_id and entity: current reading against the OFFICIAL threshold ladder (band, distance-to-action) plus a 5-year same-season percentile so you can tell routine from unusual. 180+ signals across macro, weather, hazard, shipping, filings, crypto and lifecycle lines. Free coverage check first at /gauge/coverage. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.

## Output

Returns a JSON object with: current metric readings (gage height, streamflow, flood stage, flood category) from USGS/NOAA; comparison vs official flood thresholds; 5-year same-season statistical strata showing which band the current value falls in; a normalized_index for cross-river comparison; 7-day trend array; source citation list with weights and timestamps; and a cryptographically signed record_hash (Ed25519 + optional Bitcoin OpenTimestamps anchor) for offline verification.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "signal_id",
      "entity"
     ],
     "properties": {
      "entity": {
       "type": "string",
       "examples": [
        "07010000"
       ],
       "description": "required - monitored object id, PAIRED WITH signal_id (e.g. 07010000 for hydrology.river-level, japan for earthquake.current_activity). Valid pairs: free GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"
      },
      "signal_id": {
       "type": "string",
       "examples": [
        "hydrology.river-level"
       ],
       "description": "required - signal id in genus.species ASCII form (e.g. hydrology.river-level, crypto.spot, macro.unemployment, earthquake.current_activity). Full list: free GET /gauge/catalog"
      }
     },
     "additionalProperties": false
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "const": "json"
    },
    "example": {}
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json"
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aeml-gauge-flood-risk-river-anomaly-check-bbb8ad9c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from aeml-x402.zeabur.app](https://www.zero.xyz/host/aeml-x402.zeabur.app/llms.txt)
