SERVICE / DETAILother

gauge/history-series

GET api.truthbear.co/gauge/history-series

SONAR SCORE0.835
LIVE PRICE0.090000
BAZAAR LIVEnot compatible
CDP INDEXEDno
DECISION EVIDENCE

Why an agent can trust this route.

40 observations in the last 24h
HANDSHAKE SUCCESS100.0%402 challenge reachable
PAID DELIVERY0.0%settlement observed
P90 LATENCY470msrecent response window
PRICE DRIFT0.0%advertised vs observed

Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.

SONAR PROBE HISTORY / 30D

Observed outcomes

JSON ↗
LIVE ENDPOINT METADATA

[TIME SERIES EXPORT] Full retained series for one signal and entity (?days=, ?format=json or csv): every snapshot up to days (default 400, cap 1000) with snapshot_date, observed_at, data_age_hours, current, band and record_hash. For research, actuarial and base-rate work. Free 7-snapshot shape preview at /gauge/history-preview. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed.

Resource: api.truthbear.co/gauge/history-series

Network: base · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0x2d16a243ba9fAcC6AC85519d5efad2149DC4C6c3

Payment methods: — · Last validation: 2026-10-15 11:57:03.638+00

{
  "input": null,
  "output": null,
  "paymentRequirements": [
    {
      "raw": {
        "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "extra": {
          "name": "USD Coin",
          "version": "2"
        },
        "payTo": "0x2d16a243ba9fAcC6AC85519d5efad2149DC4C6c3",
        "amount": "90000",
        "scheme": "exact",
        "network": "base",
        "mimeType": "application/json",
        "resource": "https://api.truthbear.co/gauge/history-series",
        "extensions": {
          "bazaar": {
            "info": {
              "input": {
                "type": "http",
                "method": "GET",
                "queryParams": {
                  "days": "optional - lookback window in days; default 400, minimum 1, capped at 1000. Windows are UTC days (snapshot_date), not lo",
                  "entity": "required - object id within that line, e.g. 07010000 (see /gauge/coverage)",
                  "format": "optional - json (default) or csv",
                  "signal_id": "required - line id, e.g. hydrology.river-level (see /gauge/coverage)"
                }
              },
              "output": {
                "type": "json"
              }
            },
            "schema": {
              "$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": {
                        "days": {
                          "type": "string",
                          "description": "optional - lookback window in days; default 400, minimum 1, capped at 1000. Windows are UTC days (snapshot_date), not local days"
                        },
                        "entity": {
                          "type": "string",
                          "examples": [
                            "07010000"
                          ],
                          "description": "required - object id within that line, e.g. 07010000 (see /gauge/coverage)"
                        },
                        "format": {
                          "type": "string",
                          "description": "optional - json (default) or csv"
                        },
                        "signal_id": {
                          "type": "string",
                          "examples": [
                            "hydrology.river-level"
                          ],
                          "description": "required - line id, e.g. hydrology.river-level (see /gauge/coverage)"
                        }
                      },
                      "additionalProperties": false
                    }
                  }
                },
                "output": {
                  "type": "object",
                  "required": [
                    "type"
                  ],
                  "properties": {
                    "type": {
                      "const": "json"
                    }
                  }
                }
              }
            },
            "priceUsd": "$0.09",
            "discoverable": true,
            "outputSchema": {
              "type": "object",
              "required": [
                "count",
                "series"
              ],
              "properties": {
                "days": {
                  "type": "integer",
                  "description": "Days actually covered (capped at 1000)"
                },
                "note": {
                  "type": "string",
                  "description": "Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"
                },
                "tier": {
                  "type": "string",
                  "description": "Always the literal \"history-series\""
                },
                "count": {
                  "type": "integer",
                  "description": "Number of rows in series"
                },
                "grade": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"
                },
                "scope": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"
                },
                "entity": {
                  "type": "string",
                  "description": "Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"
                },
                "format": {
                  "enum": [
                    "json",
                    "csv"
                  ],
                  "type": "string"
                },
                "nature": {
                  "type": "string",
                  "description": "Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"
                },
                "series": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": true
                  },
                  "description": "CORE DELIVERY: the full time series for this (signal_id, entity) pair, snapshot_date ascending; each row carries snapshot_date / observed_at / data_age_hours / current / band / record_hash"
                },
                "_citation": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"
                },
                "signal_id": {
                  "type": "string",
                  "description": "Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"
                },
                "decision_points": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"
                }
              },
              "additionalProperties": true,
              "conditionalProperties": {
                "last_fact": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"
                },
                "decision_points": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"
                },
                "leg_availability": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"
                },
                "record_hash_verifiable": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"
                }
              }
            },
            "routeTemplate": "/gauge/history-series",
            "priceUsdNumber": 0.09
          }
        },
        "description": "[TIME SERIES EXPORT] Full retained series for one signal and entity (?days=, ?format=json or csv): every snapshot up to days (default 400, cap 1000) with snapshot_date, observed_at, data_age_hours, current, band and record_hash. For research, actuarial and base-rate work. Free 7-snapshot shape preview at /gauge/history-preview. Descriptive only, never a forecast or advice. No data -> 422 no_charge, not billed. $0.09 per call.",
        "outputSchema": {
          "input": {
            "type": "http",
            "method": "GET",
            "example": {
              "entity": "07010000",
              "signal_id": "hydrology.river-level"
            },
            "required": [
              "signal_id",
              "entity"
            ],
            "properties": {
              "days": {
                "type": "string",
                "description": "optional - lookback window in days; default 400, minimum 1, capped at 1000. Windows are UTC days (snapshot_date), not local days"
              },
              "entity": {
                "type": "string",
                "examples": [
                  "07010000"
                ],
                "description": "required - object id within that line, e.g. 07010000 (see /gauge/coverage)"
              },
              "format": {
                "type": "string",
                "description": "optional - json (default) or csv"
              },
              "signal_id": {
                "type": "string",
                "examples": [
                  "hydrology.river-level"
                ],
                "description": "required - line id, e.g. hydrology.river-level (see /gauge/coverage)"
              }
            },
            "queryParams": {
              "days": "optional - lookback window in days; default 400, minimum 1, capped at 1000. Windows are UTC days (snapshot_date), not local days",
              "entity": "required - object id within that line, e.g. 07010000 (see /gauge/coverage)",
              "format": "optional - json (default) or csv",
              "signal_id": "required - line id, e.g. hydrology.river-level (see /gauge/coverage)"
            },
            "discoverable": true,
            "exampleRequest": "/gauge/history-series?signal_id=hydrology.river-level&entity=07010000"
          },
          "output": {
            "type": "object",
            "required": [
              "count",
              "series"
            ],
            "properties": {
              "days": {
                "type": "integer",
                "description": "Days actually covered (capped at 1000)"
              },
              "note": {
                "type": "string",
                "description": "Conditional - endpoint-specific honest disclosure (limits, granularity, disclaimer); some endpoints omit it"
              },
              "tier": {
                "type": "string",
                "description": "Always the literal \"history-series\""
              },
              "count": {
                "type": "integer",
                "description": "Number of rows in series"
              },
              "grade": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Honest data-grade disclosure (e.g. \"screening-level, not decision-grade\")"
              },
              "scope": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Honest statement of scope and limits: monitoring is not forecasting, intelligence is not instruction, and the boundary of what is verifiable"
              },
              "entity": {
                "type": "string",
                "description": "Monitored object id (e.g. btc / us / hormuz); full list at free /gauge/catalog or /gauge/preview"
              },
              "format": {
                "enum": [
                  "json",
                  "csv"
                ],
                "type": "string"
              },
              "nature": {
                "type": "string",
                "description": "Neutrality statement: GAUGE supplies observations and trend description only - no judgement, no prediction, no recommendation"
              },
              "series": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                },
                "description": "CORE DELIVERY: the full time series for this (signal_id, entity) pair, snapshot_date ascending; each row carries snapshot_date / observed_at / data_age_hours / current / band / record_hash"
              },
              "_citation": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Offline-verifiable citation: {statement_type, not_advice:bool, claim, fact, source, record_hash, signature(Ed25519), key_id, issuer_DID(did:key), verify_url} - the trust root for zero-trust self-verification"
              },
              "signal_id": {
                "type": "string",
                "description": "Signal id in genus.species ASCII binomial form (e.g. crypto.spot / macro.unemployment / shipping.route-disruption); full list at free /gauge/catalog"
              },
              "decision_points": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "{count, points:[{tag,current,swappable,how}], note} - decision points you can re-run with a swapped tag (one swapped tag = one call); leave it alone and the original context is the default, at no extra charge"
              }
            },
            "additionalProperties": true,
            "conditionalProperties": {
              "last_fact": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Most recent qualifying fact for this line and entity, attached centrally (may be absent when the line has no qualifying fact yet)"
              },
              "decision_points": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Swappable decision points for this entity, attached centrally: {count, points:[{tag,current,swappable,how}], note}. Present only when the entity has at least one swappable tag in the index, so bundles for entities without one omit it"
              },
              "leg_availability": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Per-leg degradation disclosure: which legs are present, which are degraded and why. Present only when at least one leg is degraded"
              },
              "record_hash_verifiable": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Whether this response can recompute its own record_hash offline. Present only when the payload carries a top-level record_hash; may be absent on list-shaped deliveries where verifiability is stated per row instead"
              }
            }
          }
        },
        "maxAmountRequired": "90000",
        "maxTimeoutSeconds": 300
      },
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "payTo": "0x2d16a243ba9fAcC6AC85519d5efad2149DC4C6c3",
      "scheme": "exact",
      "network": "base",
      "amountAtomic": "90000"
    }
  ]
}
METADATA PROVENANCE

Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.