{"uid":"cap_0fVhZEMc9agvjQ944n1ew","slug":"truthbear-gauge-calibrated-f802aaa5","name":"TruthBear Gauge Calibrated","description":"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. $0.0050 per call.","url":"https://api.truthbear.co/gauge/calibrated","method":"GET","headers":{},"bodySchema":{"$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; free list at GET /gauge/catalog?signal_id=<signal_id> -> signals[0].entities[]"},"signal_id":{"type":"string","examples":["hydrology.river-level"],"description":"required - signal id (genus.species); free list at GET /gauge/catalog (paged; ?all=1 for every line)"}},"additionalProperties":false}}},"output":{"type":"object","required":["type"],"properties":{"type":{"const":"json"},"example":{}}}}},"responseSchema":{"type":"json","example":{"dim":"calibrated","grade":"screening-level, not decision-grade","scope":{"full":"https://api.truthbear.co/scope/v1","verifiability":"via-endpoint","monitoring_not_forecast":true,"intelligence_not_command":true},"entity":"07010000","nature":"This API supplies data organisation and trend description only. It is not a recommendation to act; the decision is yours. Purely descriptive - no judgement, no prediction. Official source plus record_hash; verify with the free /gauge/verify.","signal_id":"hydrology.river-level","calibrated":{"band":"below_action","unit":"ft","scale":"flood_stage","metric":"gauge_height_ft","index_basis":"normalized_index: piecewise linear (action=0/minor=1/moderate=2/major=3); below the first band = (value - first threshold) / first threshold, clamped to [-1,0); above the top band it is unbounded. pct_to_action = value / first alert threshold (bounded, 1 = at the first alert)","current_value":6.48,"pct_to_action":0.231,"normalized_index":-0.769},"provenance":{"freshness":"fresh","age_hours_now":5.5,"freshness_basis":"cadence=daily; fresh<=24h; recent<=192h; dead_source>1440h; age_basis=request-time(now minus observed_at)"},"source_ref":"https://waterdata.usgs.gov/monitoring-location/07010000/","entity_name":"Mississippi River at St. Louis, MO","observed_at":"2026-08-26T09:30:00.000Z","record_hash":"sha256:a3986d8689a1d9f6e8b4b92c2318d5af64291cdedbdbd3d706e0049e16fcb42e","record_hash_verifiable":{"mode":"via-endpoint","note":"This response is a projected delivery (some core fields are omitted to control size). Cross-check record_hash with the free /gauge/verify, or buy /gauge to get the complete core for offline recomputation."}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_H3MnfN9K1ZOd92jaIAT_Y","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns calibrated, cross-station-comparable gauge readings for a given signal and entity, including normalized_index and pct_to_action metrics.","exampleAgentPrompt":"What's the calibrated river level reading for gauge station 07010000 right now — I need the normalized_index and pct_to_action so I can compare it against other stations?","exampleUseCases":[{"title":"Cross-station flood risk comparison","prompt":"Pull the calibrated readings for the hydrology.river-level signal at station 07010000 so I can compare the normalized_index against readings from other gauges upstream."},{"title":"Automated alert threshold monitoring","prompt":"Check the calibrated pct_to_action for signal hydrology.river-level at entity 07010000 — I want to know how close it is to the action threshold right now."},{"title":"Audit-ready sensor data retrieval","prompt":"Fetch the calibrated gauge reading for entity 07010000 on the hydrology.river-level signal and give me the record_hash so I can verify the data offline later."}],"resultDescription":"Returns a JSON object with calibrated unit fields including normalized_index (cross-station comparable index value) and pct_to_action (how close the reading is to an action threshold), plus a record_hash for offline verification. If no calibration basis exists for the requested line, returns HTTP 422 with no_charge:true and reason:no-calibrated-for-this-line — and the call is not billed.","failureModes":["422 Unprocessable Entity with no_charge:true and reason:no-calibrated-for-this-line when calibration data is unavailable for the requested signal+entity combination — not billed","Missing or invalid signal_id returns an error (signal must be in genus.species format, e.g. hydrology.river-level)","Missing or invalid entity returns an error (entity must be a valid monitored object ID paired with the signal_id)","Entity not associated with the given signal_id returns an error or empty result"],"whenToPreferThis":"Choose this endpoint when you need cross-station comparable gauge readings (normalized_index, pct_to_action) rather than raw values. Prefer this over raw gauge endpoints when comparing risk levels across different monitoring stations, or when you need an audit trail via the record_hash. Use the sibling gauge/history-series endpoint if you need a time series rather than the current point-in-time calibrated reading. If calibration is unavailable, you are not billed, making this safe to call speculatively.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T06:49:01.767Z","isFirstParty":false}