# AEML Gauge Calibrated Unit Plug-in

> AEML Gauge Calibrated Unit Plug-in 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 cross-site-comparable calibrated unit projections (normalized_index / pct_to_action) for a given signal and entity, or 422 with no-charge flag if no calibration exists for that signal line.

## Facts

- Endpoint: GET https://aeml-x402.zeabur.app/gauge/calibrated
- 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-calibrated-unit-plug-in-3efb8ba5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_w9QNU6Kn1JTgHt_fwDK7i

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-calibrated-unit-plug-in-3efb8ba5
```

Example prompt: Can you pull the calibrated normalized index for the crypto.spot signal on BTC from the AEML gauge — I want the cross-site-comparable pct_to_action reading along with data freshness info?

## When to prefer this

Choose this endpoint when you need cross-site-comparable normalized signal readings (normalized_index / pct_to_action) for a specific signal-entity pair, especially when you want to benchmark or compare gauge readings across different sources or time periods on a standardized scale. Prefer this over the full /gauge endpoint when you only need the calibrated projection and want to minimize cost ($0.02 vs fuller bundles). If the line has no calibration, you are not charged. Use /gauge/catalog or /gauge/preview (free) first to confirm the signal_id and entity are valid before calling.

## Known failure modes

- 422 with no_charge:true and reason:no-calibrated-for-this-line — signal line has no calibrated unit defined; call is not billed
- Missing or invalid signal_id parameter — malformed dot-notation label
- Missing or invalid entity parameter — entity not recognized in catalog
- Payment failure via x402 protocol — USDC payment not accepted
- Stale data indicated by freshness:stale in provenance — data may not reflect current conditions
- null calibrated field — calibration data temporarily unavailable despite line existing

## How this service works

Add-on, calibrated units: normalized_index and pct_to_action so readings compare across stations. When the line has no calibration basis you get 422 with no_charge:true and reason:no-calibrated-for-this-line, and are NOT billed. Every record carries an offline-recomputable record_hash.

## Output

Returns a JSON object with a 'calibrated' sub-object containing normalized_index and pct_to_action (cross-site comparable values), plus metadata fields: signal_id, entity, entity_name, observed_at, grade (data quality tier), scope statement, nature (neutrality disclaimer), provenance (freshness, data lineage, data age), record_hash, and optional _citation for offline verification. If no calibration exists for the requested signal line, returns HTTP 422 with no_charge:true and reason:no-calibrated-for-this-line — meaning the call 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-calibrated-unit-plug-in-3efb8ba5/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)
