# AEML Gauge Ruler — Official Classification Thresholds Lookup

> AEML Gauge Ruler — Official Classification Thresholds Lookup is a paid API for AI agents from aeml-x402.zeabur.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-13).

Returns official band/flood-stage classification thresholds and alert-level distances for a given signal and entity, or 422 with no_charge:true if no official ruler exists for that line.

## Facts

- Endpoint: GET https://aeml-x402.zeabur.app/gauge/ruler
- Price: $0.005/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-ruler-official-classification-thresholds-lookup-0e330585
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_iP9jTXVZmlCoQJr6rjhfu

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-ruler-official-classification-thresholds-lookup-0e330585
```

Example prompt: What are the official flood stage classification thresholds and how close is the current level to the alert threshold for the Missouri River gauge — use signal_id crypto.spot and entity us or whichever matches the river gage signal for that station?

## When to prefer this

Use this endpoint when you need the official, standards-backed classification thresholds (bands, flood stages, alert levels) for a specific signal and entity rather than the raw observed value. Prefer this over /gauge (full core) when you only need the ruler projection and want to save cost ($0.01 vs higher). If no official ruler exists, this endpoint returns a clear 422 no-charge signal rather than billing you for null data — making it safe to probe availability.

## Known failure modes

- 422 with no_charge:true and reason:no-ruler-for-this-line when no official classification ruler exists for that signal/entity — not billed
- Missing or invalid signal_id or entity parameters result in error
- Stale provenance if the underlying official source has not published a new release (data_age_hours reported honestly)
- record_hash may be null if hashing failed; use /gauge/verify for corroboration

## How this service works

Add-on, the official ruler: the band and threshold ladder published by the source agency, its classification, and distance-to-action. NOT every line has an official ruler - pure market quotes do not. When it does not, you get 422 with no_charge:true and reason:no-ruler-for-this-line and you are NOT billed. Never a bag of nulls you paid for. Every record carries an offline-recomputable record_hash.

## Output

Returns a ruler object with official band thresholds, flood-stage or alert-level classifications, distance to next threshold, and the standard used; includes provenance, data grade disclosure, record_hash for offline verification, and an Ed25519-signed citation. If no official ruler exists for the requested signal/entity combination, returns HTTP 422 with no_charge:true and a reason field explaining the absence — caller is not billed.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "type": "string",
     "enum": [
      "GET"
     ]
    },
    "queryParams": {
     "type": "object",
     "additionalProperties": false,
     "properties": {
      "signal_id": {
       "type": "string",
       "description": "required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)",
       "examples": [
        "hydrology.river-level"
       ]
      },
      "entity": {
       "type": "string",
       "description": "required - monitored object id, paired with signal_id; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]",
       "examples": [
        "07010000"
       ]
      }
     },
     "required": [
      "signal_id",
      "entity"
     ]
    }
   },
   "required": [
    "type",
    "method",
    "queryParams"
   ]
  },
  "output": {
   "type": "object",
   "properties": {
    "type": {
     "const": "json"
    },
    "example": {}
   },
   "required": [
    "type"
   ]
  }
 }
}
```

## Response schema (JSON Schema)

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

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aeml-gauge-ruler-official-classification-thresholds-lookup-0e330585/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)
