openapi: 3.1.0 info: title: Dynamic Feed — Live Data for AI description: 'Fresh, current data that AI models lack — 20 live domains, 94 read-only tools, over one REST API or a keyless MCP endpoint. Drawn from the world''s authoritative public instruments (NASA, NOAA, USGS, CISA, FAA, US Treasury/OFAC, FDA, the World Bank, CelesTrak) plus measurements we make ourselves: multi-model weather + air quality, space weather & live satellite positioning, natural hazards (quakes, wildfires, drought, global disasters), security advisories + actively-exploited CVEs, software versions & EOL, sanctions & regulatory filings, shipping & maritime chokepoints, China markets & macro, measured AI-provider latency, the open-model ecosystem, and a ground-truth layer (reality_check, detect_drift, whats_changed_since_your_training, current_time). PLUS a robot/agent situational-awareness API (POST /v1/awareness) returning Ed25519-signed advisory go/caution/no-go verdicts. Clients may separately request an RFC 3161 timestamp artifact via POST /v1/anchor; artifact issuance does not by itself establish full independent validation. The power is cross-domain: ask what no single source can answer. Every datapoint carries a provenance + freshness envelope — its source, license, timestamp and age — so you can cite it and verify usage rights yourself. Free API key at POST /signup; MCP is keyless.' contact: name: Dynamic Feed url: https://dynamicfeed.ai/ version: 1.0.0 x-generated: '2026-09-19' x-method: searched x-source: https://dynamicfeed.ai/openapi.json x-original: openapi/_original/dynamicfeed-ai-openapi.json servers: - url: https://dynamicfeed.ai paths: /v1/openweather/current: get: tags: - weather summary: V1 Openweather Current description: 'LEGACY ALIAS — provider is Open-Meteo. Returns the canonical current_weather envelope (app/open_meteo.py: CC-BY 4.0, attribution, freshness, cross-source concordance) plus a provider-identity notice. Prefer the current_weather tool via POST /v1/batch or MCP.' operationId: v1_openweather_current_v1_openweather_current_get parameters: - name: city in: query required: false schema: anyOf: - type: string maxLength: 80 - type: 'null' title: City - name: lat in: query required: false schema: anyOf: - type: number maximum: 90 minimum: -90 - type: 'null' title: Lat - name: lon in: query required: false schema: anyOf: - type: number maximum: 180 minimum: -180 - type: 'null' title: Lon responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/openweather/forecast: get: tags: - weather summary: V1 Openweather Forecast description: 'LEGACY ALIAS — provider is Open-Meteo. Returns the canonical multi-model forecast envelope (app/open_meteo.py) plus a provider-identity notice. Prefer weather_forecast via POST /v1/batch or MCP.' operationId: v1_openweather_forecast_v1_openweather_forecast_get parameters: - name: city in: query required: false schema: anyOf: - type: string maxLength: 80 - type: 'null' title: City - name: lat in: query required: false schema: anyOf: - type: number maximum: 90 minimum: -90 - type: 'null' title: Lat - name: lon in: query required: false schema: anyOf: - type: number maximum: 180 minimum: -180 - type: 'null' title: Lon - name: days in: query required: false schema: type: integer maximum: 16 minimum: 1 default: 5 title: Days responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/state-of-mcp: get: tags: - verified facts summary: V1 State Of Mcp description: 'STATE OF MCP — a signed census of the Model Context Protocol ecosystem, measured from the official registry: how many servers exist, how many are remote, and how many are keyless. One Ed25519-signed envelope you can verify against /.well-known/keys; a primary-source figure, not a claim. Served from the latest daily snapshot (the crawl runs off the request path). Keyless.' operationId: v1_state_of_mcp_v1_state_of_mcp_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/state-of-mcp/trend: get: tags: - verified facts summary: V1 State Of Mcp Trend description: 'Growth over time: the headline State of MCP numbers, one point per daily snapshot, oldest first. The trend IS the value (server count, remote share, keyless share drifting over time).' operationId: v1_state_of_mcp_trend_v1_state_of_mcp_trend_get parameters: - name: days in: query required: false schema: type: integer maximum: 1825 minimum: 1 default: 365 title: Days responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/discover: get: tags: - agent summary: V1 Discover Get description: 'CAPABILITY DISCOVERY — ask in plain words what you need ("live rainfall in Brisbane", "sanctions screening", "satellite positions") and get a ranked, Ed25519-signed list of candidate capabilities: Dynamic Feed''s own tools with MEASURED 24h uptime/latency and a keyless call recipe, plus matching external MCP servers from the official registry index, honestly marked registry-reported and unmeasured. Advisory discovery with an explicit vantage per candidate, not an endorsement. Keyless.' operationId: v1_discover_get_v1_discover_get parameters: - name: need in: query required: false schema: type: string maxLength: 300 default: '' title: Need - name: limit in: query required: false schema: type: integer maximum: 20 minimum: 1 default: 8 title: Limit - name: external in: query required: false schema: type: integer default: 1 title: External responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - agent summary: V1 Discover Post description: 'POST twin of GET /v1/discover: {"need": "...", "limit": 8, "external": true}.' operationId: v1_discover_post_v1_discover_post responses: '200': description: Successful Response content: application/json: schema: {} /schemas/index.json: get: tags: - agent summary: Schemas Index description: 'The Dynamic Feed receipt-schema family, self-describing (DF-VERIFY/1). Scans the schema directory at request time so it never drifts: every profile''s $id, title and active mint endpoint when one exists. Deprecated/quarantined schemas remain visible as history, not as executable capabilities. Schema conformance and signature mathematics are separate from lifecycle acceptance.' operationId: schemas_index_schemas_index_json_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/facts: get: tags: - verified facts summary: V1 Facts description: 'Verified-fact layer: any tool, returned in ONE canonical fact shape with an HONEST verification block. Cardinal rule: signed != verified. An Ed25519 signature proves Dynamic Feed reported this exact value at this time, unaltered (integrity); ''verified'' is reserved for facts independently corroborated by 2+ sources AND still fresh. confidence is a transparent composite of the exposed signals, never decorative; a single-source reading is honestly verified:false. Keyless, read-only. GET /v1/facts?tool=current_weather&city=Sydney , or POST {"calls":[{"tool":...,"args":{...}}]}. The whole envelope is Ed25519-signed.' operationId: v1_facts_v1_facts_get responses: '200': description: Successful Response content: application/json: schema: {} post: tags: - verified facts summary: V1 Facts description: 'Verified-fact layer: any tool, returned in ONE canonical fact shape with an HONEST verification block. Cardinal rule: signed != verified. An Ed25519 signature proves Dynamic Feed reported this exact value at this time, unaltered (integrity); ''verified'' is reserved for facts independently corroborated by 2+ sources AND still fresh. confidence is a transparent composite of the exposed signals, never decorative; a single-source reading is honestly verified:false. Keyless, read-only. GET /v1/facts?tool=current_weather&city=Sydney , or POST {"calls":[{"tool":...,"args":{...}}]}. The whole envelope is Ed25519-signed.' operationId: v1_facts_v1_facts_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/answer: get: tags: - verified facts summary: V1 Answer description: 'ANSWERS WITH RECEIPTS (answer/v1) — submit factual premises (structured checks) or a question, get ONE Ed25519-signed answer object carrying the complete evidence chain: the exact calls made, the exact source readings (fact/v1), per-premise verdicts computed by the published deterministic rule answer-eval/1, and a confidence whose formula ships inside the payload (answer-conf/1) so anyone can recompute it. No model in the loop: unroutable input gets a SIGNED refusal that states exactly what IS covered. Signed proves integrity, not truth; everything is advisory evidence. Keyless; GET returns usage + coverage.' operationId: v1_answer_v1_answer_get responses: '200': description: Successful Response content: application/json: schema: {} post: tags: - verified facts summary: V1 Answer description: 'ANSWERS WITH RECEIPTS (answer/v1) — submit factual premises (structured checks) or a question, get ONE Ed25519-signed answer object carrying the complete evidence chain: the exact calls made, the exact source readings (fact/v1), per-premise verdicts computed by the published deterministic rule answer-eval/1, and a confidence whose formula ships inside the payload (answer-conf/1) so anyone can recompute it. No model in the loop: unroutable input gets a SIGNED refusal that states exactly what IS covered. Signed proves integrity, not truth; everything is advisory evidence. Keyless; GET returns usage + coverage.' operationId: v1_answer_v1_answer_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/bundles: get: tags: - agent summary: V1 Bundles description: 'Curated tool BUNDLES per domain — pick the right tools for your agent''s use-case fast (instead of sifting all tools). Keyless: call any tool via POST /v1/batch; pay-per-call via /v1/pro/*.' operationId: v1_bundles_v1_bundles_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/bundles/{bundle_id}: get: tags: - agent summary: V1 Bundle description: One curated tool bundle by id (e.g. devsecops, weather-climate, finance-markets). operationId: v1_bundle_v1_bundles__bundle_id__get parameters: - name: bundle_id in: path required: true schema: type: string title: Bundle Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /: get: summary: Home description: Serve the marketing landing page (with live demo widget). operationId: home__get responses: '200': description: Successful Response content: text/html: schema: type: string /info: get: summary: Info operationId: info_info_get responses: '200': description: Successful Response content: application/json: schema: {} /health: get: summary: Health operationId: health_health_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/history: get: summary: History description: 'Archive coverage — what Dynamic Feed''s permanent, append-only archive holds. • No `tool` → the set of tools captured + a count. • `tool=` → that tool''s captured date partitions, earliest/latest, and day count. This is the availability index over the un-backfillable history (the permanence moat): it tells an agent which days are on record for a tool. Row-level point-in-time values ("what was the value at time T") are a premium query that layers on the same Hive-partitioned archive.' operationId: history_v1_history_get parameters: - name: tool in: query required: false schema: type: string title: Tool responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/agent-stats: get: summary: Agent Stats description: 'Public, no-PII view of the agent/machine traffic Dynamic Feed serves: tool calls (today / 7d / 30d / all-time) and the distinct agent client types seen (Claude, ChatGPT, Cursor, LangChain, MCP clients, ...). Counts only — no IPs, no identities. Powers the public ''agents tapping us'' counter on /agents. The response itself is Ed25519-signed.' operationId: agent_stats_v1_agent_stats_get responses: '200': description: Successful Response content: application/json: schema: {} /worldcup: get: tags: - sports summary: Worldcup Route description: '2026 FIFA World Cup fixtures + final results (openfootball, public domain). Keyless — powers the homepage World Cup section and any agent. See also the keyless `world_cup` MCP tool.' operationId: worldcup_route_worldcup_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/batch: post: tags: - agent summary: V1 Batch description: 'Run up to 20 read-only data-tool calls in ONE request — cuts agent round-trips. Keyless. Body: {"calls":[{"tool":"current_weather","args":{"city":"London"}}, {"tool":"earthquakes","args":{}}]}. Returns {"results":[{"tool","ok","data"|"error"}, ...]} in the same order. Tool names are the keyless MCP tools; POST with no `calls` returns the available list. Each call has its own 20s deadline, so a slow upstream degrades that one item rather than blocking the batch. Add "facts": true to the body to get each result as a canonical, reliability-graded fact instead of raw data: {"tool","ok","fact":{value, provenance, verification, reliability{confidence,basis,sources, verified,vantage,conflict}}}. The whole response is Ed25519-signed (verify against /.well-known/keys), so this is verifiable, reliability-graded, multi-tool data in one round-trip. Default shape is unchanged.' operationId: v1_batch_v1_batch_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/pro/tool/{tool}: post: tags: - agent summary: V1 Pro Tool description: 'PREMIUM single signed tool call — pay-per-call (x402, USDC on Base) for ANY one of Dynamic Feed''s live tools. An agent pays once, gets one Ed25519-signed datapoint. No signup, no human. Body: {"args":{...}}. Discoverable via the x402 bazaar. (Free alternative: keyless /v1/batch, fair-use.)' operationId: v1_pro_tool_v1_pro_tool__tool__post parameters: - name: tool in: path required: true schema: type: string title: Tool responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - agent summary: V1 Pro Tool Discover description: 'Discovery for the paid single-call endpoint. A GET returns the x402 402 challenge — so an agent that probes with GET (instead of a ''Method Not Allowed'' dead end) still learns the price, the asset, and that it must POST with an X-PAYMENT header + {"args":{...}} body. NO payment is taken on GET; settlement only ever happens on POST. Pure discovery, no money path.' operationId: v1_pro_tool_discover_v1_pro_tool__tool__get parameters: - name: tool in: path required: true schema: type: string title: Tool responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/pro/asof: post: tags: - agent summary: V1 Pro Asof description: 'PREMIUM keyless AS-OF REPLAY — pay-per-call (x402, USDC on Base) signed time-machine over Dynamic Feed''s append-only archive. Body {"tool":"current_weather","t":"2026-06-10T14:30:00Z"} (or ?tool=&t=) -> the archived observation for `tool` nearest at-or-before `t`, replayed VERBATIM, Ed25519-signed (verify against GET /.well-known/keys). The keyless paid channel to the SAME engine as the key-gated GET /v1/asof — for agent backtesting, audit trails and ''what did we know when we decided'' disputes. No signup, no human; discoverable via the x402 bazaar. Honest about coverage: a time the archive didn''t capture returns a clear miss, never a fabricated past.' operationId: v1_pro_asof_v1_pro_asof_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/pro/batch: post: tags: - agent summary: V1 Pro Batch description: 'PREMIUM, pay-per-call data batch — the commercial tier of /v1/batch, paid AGENT-NATIVELY via x402 (HTTP 402): an agent gets a price, pays from its wallet, re-calls with the X-PAYMENT header, and is served — no human, no signup. Up to 100 signed tool calls per request (free /v1/batch is fair-use, capped at 20). Dynamic Feed charges for its OWN service; a third-party facilitator settles the payment — DF never custodies funds (witness-not-money). Body: {"calls":[{"tool":...,"args":{...}}, ...]}.' operationId: v1_pro_batch_v1_pro_batch_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/pro/catalog: get: tags: - agent summary: V1 Pro Catalog description: 'Machine-readable MENU of Dynamic Feed''s x402 pay-per-call SKUs (USDC on Base) — the ''price list'' an agent or x402 facilitator shops in one call: every paid endpoint, its price (live from X402_PRICE_ATOMIC), input/output schema, the recipient wallet (when connected), and the facilitator. Boundary: DF is the merchant; the facilitator settles — DF never custodies funds.' operationId: v1_pro_catalog_v1_pro_catalog_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/drift: post: tags: - agent summary: V1 Drift description: 'Drift detection — audit an AI''s stated facts against live ground-truth, graded by severity. Keyless. Body: {"claims":["The latest Python is 3.11","Node.js is on 18"]} or {"text":""}. Returns {checked, drifted_count, overall, results:[{claim, status, drifted, severity, correction, source}]}.' operationId: v1_drift_v1_drift_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/guard: post: tags: - agent summary: V1 Guard description: 'Pre-answer guard — the anti-hallucination middleware. POST the draft answer your AI is about to send; get back a verdict of "pass" or "revise" plus the exact corrections, so you can fix it BEFORE the user sees it. Keyless. Wrap it around any LLM response pipeline. Body: {"answer":""} or {"claims":["...","..."]}. Returns {verdict:"pass"|"revise", checked, issues:[{claim, subject, severity, correction, source}], confirmed, unverifiable, guidance}. Only claims that CONTRADICT live data trigger "revise"; opinions and facts no live feed can cover pass through untouched. Verifies prices, software versions, market open/closed and service up/down against Dynamic Feed''s live ground-truth.' operationId: v1_guard_v1_guard_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/sources: get: tags: - agent summary: V1 Sources description: 'The authoritative source catalog — every upstream feed Dynamic Feed serves, with its publisher, official URL, licence, whether commercial use + redistribution is permitted, update cadence, and the tools it backs. Keyless. Each datapoint is provenance-stamped (source, licence, timestamp) so you can cite it and verify usage rights yourself.' operationId: v1_sources_v1_sources_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/explain: get: tags: - agent summary: V1 Explain description: 'Explain the source / chain of custody for one subject. Pass ?subject= (GET) or {"subject":"..."} (POST) — a tool name (earthquakes), a source (USGS), or a topic. Returns the upstream source(s), licence, official URL, update cadence and the full custody trail (origin -> ingest -> normalize -> serve, plus sign/anchor for awareness), so you can trace and verify where a number came from. Keyless.' operationId: v1_explain_v1_explain_get parameters: - name: subject in: query required: false schema: type: string default: '' title: Subject responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - agent summary: V1 Explain description: 'Explain the source / chain of custody for one subject. Pass ?subject= (GET) or {"subject":"..."} (POST) — a tool name (earthquakes), a source (USGS), or a topic. Returns the upstream source(s), licence, official URL, update cadence and the full custody trail (origin -> ingest -> normalize -> serve, plus sign/anchor for awareness), so you can trace and verify where a number came from. Keyless.' operationId: v1_explain_v1_explain_get parameters: - name: subject in: query required: false schema: type: string default: '' title: Subject responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/snapshot: get: tags: - agent summary: V1 Snapshot description: 'Historical world-state — what Dynamic Feed reported on a given day. ?date=YYYY-MM-DD returns that day''s stored snapshot (the cross-domain world_pulse digest); no date returns today''s, captured on read. Honest about coverage: a date before the earliest snapshot returns the available range, never a fabricated past. Keyless. The auditable companion to the signed/RFC 3161 timestamped awareness layer.' operationId: v1_snapshot_v1_snapshot_get parameters: - name: date in: query required: false schema: type: string default: '' title: Date responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/asof: get: tags: - agent summary: V1 Asof description: 'TIME-MACHINE REPLAY — what did the data say at decision time? Returns the archived observation for `tool` nearest at-or-before time `t`, replayed VERBATIM from Dynamic Feed''s append-only archive (capturing every served datapoint since 2026-06-07) — the value as served then, never a re-fetch or reconstruction. The response carries honest metadata (`archived_at`, `distance_seconds` from your requested instant, the exact archive object, where coverage begins) and is Ed25519-signed (verify against GET /.well-known/keys) — built for agent backtesting, audit trails and "what did we know when we decided" disputes. Honest about coverage: a time the archive didn''t capture returns a clear miss with the nearest captured day, never a fabricated past. Paid plans (Pro and up); auth via the X-API-Key header. Upgrade: https://dynamicfeed.ai/dashboard' operationId: v1_asof_v1_asof_get parameters: - name: tool in: query required: true schema: type: string description: tool name, e.g. current_weather (the keyless MCP tool names) title: Tool description: tool name, e.g. current_weather (the keyless MCP tool names) - name: t in: query required: true schema: type: string description: ISO-8601 timestamp, e.g. 2026-06-10T14:30:00Z title: T description: ISO-8601 timestamp, e.g. 2026-06-10T14:30:00Z - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/anchor/daily: get: tags: - robot summary: V1 Anchor Daily description: 'L2 — the day''s world-state snapshot timestamped via RFC 3161 (one hash per day, free & batched via RFC 3161): a durable, tamper-evident record of what Dynamic Feed reported. Anchors on first call (idempotent), then returns the proof. ?date=YYYY-MM-DD; keyless.' operationId: v1_anchor_daily_v1_anchor_daily_get parameters: - name: date in: query required: false schema: type: string default: '' title: Date responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/watchlist: get: tags: - agent summary: V1 Watchlist Get description: 'Your saved watchlist — the subjects/tools you monitor. ?pull=true runs every watched tool and returns each one''s CURRENT value in a single call (your whole dashboard at once). Per-user, keyed by your API key (X-API-Key).' operationId: v1_watchlist_get_v1_watchlist_get parameters: - name: pull in: query required: false schema: type: boolean default: false title: Pull - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - agent summary: V1 Watchlist Post description: 'Add to or replace your watchlist. Body {"label":"BTC","tool":"cite","args":{"subject":"BTC"}} adds one item; body {"items":[...]} replaces the whole list (max 25). Each item''s `tool` must be a real Dynamic Feed tool. Per-user, keyed by your API key.' operationId: v1_watchlist_post_v1_watchlist_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - agent summary: V1 Watchlist Delete description: Remove one item from your watchlist (?label=BTC) or clear it entirely (no label). Per-user. operationId: v1_watchlist_delete_v1_watchlist_delete parameters: - name: label in: query required: false schema: type: string default: '' title: Label - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/stream: get: tags: - agent summary: V1 Stream description: 'Server-Sent Events stream of a LIVE value. Point an EventSource at /v1/stream?tool=&args=&interval=&count= and receive the tool''s current value every `interval` seconds as a `value` event, until `count` updates or you disconnect. Keyless. Bounded for fair use: interval 5-300s, count 1-60. Example: /v1/stream?tool=cite&args={"subject":"BTC"}&interval=10' operationId: v1_stream_v1_stream_get parameters: - name: tool in: query required: false schema: type: string default: '' title: Tool - name: args in: query required: false schema: type: string default: '' title: Args - name: interval in: query required: false schema: type: number default: 15 title: Interval - name: count in: query required: false schema: type: integer default: 20 title: Count responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/webhooks: post: tags: - agent summary: V1 Webhooks Create description: 'Register a webhook that fires when a tool''s value CHANGES. Body: {"url":"https://you.example/hook","tool":"exploited_vulnerabilities","args":{}}. The URL is validated SSRF-safe (public http/https only). Returns a one-time `secret` — every delivery is HMAC-SHA256 signed with it (header X-DynamicFeed-Signature: sha256=…), so you can verify it came from us. Per-user (X-API-Key).' operationId: v1_webhooks_create_v1_webhooks_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - agent summary: V1 Webhooks List description: List your webhook subscriptions (secrets are never returned). Per-user. operationId: v1_webhooks_list_v1_webhooks_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - agent summary: V1 Webhooks Delete description: Delete one of your webhook subscriptions by ?id=. Per-user. operationId: v1_webhooks_delete_v1_webhooks_delete parameters: - name: id in: query required: false schema: type: integer default: 0 title: Id - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/webhooks/test: post: tags: - agent summary: V1 Webhooks Test description: 'Send a signed TEST delivery to one of your subscriptions now — confirm your endpoint receives it and the HMAC validates. Body: {"id": }. Per-user.' operationId: v1_webhooks_test_v1_webhooks_test_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1: get: tags: - agent summary: V1 Index description: 'The Dynamic Feed agent & robot API at a glance — every /v1 capability, what it does, and a copy-paste example. The fastest way for a developer (or an agent) to discover the whole surface. Keyless unless noted.' operationId: v1_index_v1_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/awareness: post: tags: - robot summary: V1 Awareness description: 'Robot situational-awareness v1: ONE call returns a go / caution / no-go verdict plus the grounded facts behind it, for a robot (ground|humanoid|aerial|marine|orbital) at a location. NEVER blocks: the feeds fan out under a hard deadline and any laggard is dropped with the snapshot flagged `degraded` (fail-safe → the verdict can never be `go` when degraded, it floors to `caution`). Keyless in v1. Body: {"robot":{"id","class"},"location":{"lat","lon","alt_m"},"radius_km"?,"domains"?, "max_staleness_s"?,"limits"?,"deadline_ms"?,"require_signed"?}. Every response is signed with Ed25519 (Rung B) · verify against GET /.well-known/keys. Timestamp a snapshot''s hash via POST /v1/anchor (Rung C).' operationId: v1_awareness_v1_awareness_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/preflight: post: tags: - robot summary: V1 Preflight description: 'Drone PRE-FLIGHT safety check: a preset over /v1/awareness for class=aerial. POST {"location":{"lat","lon","alt_m"?},"radius_km"?}. Returns a go / caution / no-go take-off verdict fused from wind & weather, air quality, space weather (GPS/comms integrity) and nearby hazards · Ed25519-signed, hard-deadline (never hangs; degraded floors to caution). Keyless.' operationId: v1_preflight_v1_preflight_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/road: post: tags: - robot summary: V1 Road description: 'Ground / autonomous-vehicle OVER-THE-HORIZON hazard check: a preset over /v1/awareness for class=ground. POST {"location":{"lat","lon"},"radius_km"?}. Returns a go / caution / no-go verdict fused from weather, air quality and nearby earthquakes/hazards along the route · signed, never hangs. Keyless.' operationId: v1_road_v1_road_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/humanoid: post: tags: - robot summary: V1 Humanoid description: 'Humanoid PRE-OPERATION check: a preset over /v1/awareness for class=humanoid (a bipedal robot working AMONG PEOPLE). POST {"location":{"lat","lon"},"radius_km"?}. Returns a go / caution / no-go verdict fused from wind (topple risk, high centre of mass), precipitation (slip/footing), temperature (ice underfoot + actuator/battery envelope), air quality (tighter, people nearby) and nearby earthquakes · Ed25519-signed, hard-deadline (never hangs; degraded floors to caution). ADVISORY EVIDENCE ONLY: proof of what was true at a time, NOT a safety certification and NOT a guarantee it is safe to act; the robot''s own stack owns every action. Keyless.' operationId: v1_humanoid_v1_humanoid_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/marine: post: tags: - robot summary: V1 Marine description: 'Marine vessel / USV PRE-OPERATION check: a preset over /v1/awareness for class=marine. POST {"location":{"lat","lon"},"radius_km"?}. Returns a go / caution / no-go verdict fused from live significant WAVE HEIGHT (the primary driver), wind, a heavy-precipitation storm proxy, geomagnetic activity (GPS/comms) and nearby earthquakes (tsunami) · Ed25519-signed, hard-deadline (never hangs; degraded floors to caution). Inland points simply omit the sea-state factor. ADVISORY EVIDENCE only: not a safety certification and not a claim it is safe to sail; the vessel''s own stack owns every action. Keyless.' operationId: v1_marine_v1_marine_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/receipt: post: tags: - agent summary: V1 Receipt description: 'Evidence receipt — wrap any fact/claim/data in a timestamped, Ed25519-SIGNED record: provable evidence of what an AI was told (or asserted), and when. Body: {"data": } or {"claim":"..."}. Returns the receipt + a detached signature (verify against GET /.well-known/keys); anchor its hash to RFC 3161 via POST /v1/anchor. Keyless. An audit-trail input for regulated AI (fintech / legal / medical).' operationId: v1_receipt_v1_receipt_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/stamp: post: tags: - agent summary: V1 Stamp description: 'Create an independently verifiable record of submitted JSON. ``X-API-Key`` is optional so the existing keyless signing behaviour remains available. When a key is supplied it is always validated: portal ``fx_live_`` keys use the isolated Fluxdyne runtime database boundary, while legacy keys keep their existing validation and metering path. A signature establishes integrity and issuer identity; it does not establish that submitted content is complete, scientifically valid, or true.' operationId: v1_stamp_v1_stamp_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/agent/receipt: post: tags: - agent summary: V1 Agent Receipt description: 'Agent receipt. A signed, re-checkable record of what an AI agent acted on and what it decided. The operational-integrity primitive for the agent economy: prove, after the fact, the inputs behind an agent''s action. Body: {"agent": "...", "action": "...", "inputs": }, plus optional "model", "decision", "context". Returns an agent-receipt/v1 with a detached Ed25519 signature (verify against GET /.well-known/keys: drop the `signature` field, canonicalize json-sorted-compact). Anchor the hash via RFC 3161 via POST /v1/anchor. Keyless. Advisory evidence and a neutral witness: it proves what the agent was given and did, never that the decision was correct, and it never moves anything. Spec: https://dynamicfeed.ai/standard' operationId: v1_agent_receipt_v1_agent_receipt_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/notarize: post: tags: - agent summary: V1 Notarize description: 'NOTARY for any data feed — a neutral third party witnesses YOUR data and returns a timestamped, Ed25519-signed notarization: proof these exact bytes existed at this moment, independently verifiable forever. Two modes — send the data ({"payload": }), or keep it private and send only its hash ({"payload_sha256": "<64-hex>"}). Optional "subject" names the publisher; "echo": false omits the payload from the record (hash retained). This attests that Dynamic Feed WITNESSED these bytes (or this hash) at witnessed_at — not that the content is true. Anchor via POST /v1/anchor for proof-of-when independent of us. Auth: X-API-Key (free key at POST /signup). ''Let''s Encrypt for data feeds'' — your feed, signed, without building a signing stack.' operationId: v1_notarize_v1_notarize_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/exposure-report: get: tags: - agent summary: V1 Exposure Report description: 'Automated, signed EXPOSURE REPORT. Maps the perils a decision depends on to the external readings that decide them, flags where those readings are unverifiable today, and attaches a LIVE signed sample observation for each, so an organisation can see where its decisions rely on data it cannot independently check. Fully automated, no human in the loop. Ed25519-signed; verify offline at /.well-known/keys. Advisory evidence, not a certification or legal/financial advice.' operationId: v1_exposure_report_v1_exposure_report_get parameters: - name: perils in: query required: false schema: type: string default: wind,flood,wildfire title: Perils - name: lat in: query required: false schema: type: number default: -33.8688 title: Lat - name: lon in: query required: false schema: type: number default: 151.2093 title: Lon - name: place in: query required: false schema: anyOf: - type: string - type: 'null' title: Place - name: organisation in: query required: false schema: anyOf: - type: string - type: 'null' title: Organisation - name: use_case in: query required: false schema: anyOf: - type: string - type: 'null' title: Use Case responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/evidence/wildfire: get: tags: - agent summary: V1 Evidence Wildfire description: 'Chain-of-custody EVIDENCE record for a wildfire detection. Wraps a SELF-REPORTED detection (detector, lat/lon, time) with Dynamic Feed''s INDEPENDENT context captured at that location the moment it''s requested — fire-weather, near-term forecast, air quality (smoke), and tracked EONET wildfire events — each datapoint carrying its source, licence and age. The whole record is Ed25519-signed so any party can verify it OFFLINE against /.well-known/keys, WITHOUT trusting the detector or Dynamic Feed. Advisory evidence + audit layer: it does NOT make, certify, or sit in the safety-critical path of the detection — it makes the surrounding context provable later (an insurer claim, a liability review, an SLA). Keyless. Anchor via RFC 3161 via POST /v1/anchor for proof-of-when independent of us.' operationId: v1_evidence_wildfire_v1_evidence_wildfire_get parameters: - name: lat in: query required: true schema: type: number title: Lat - name: lon in: query required: true schema: type: number title: Lon - name: detected_at in: query required: false schema: anyOf: - type: string - type: 'null' title: Detected At - name: detector in: query required: false schema: type: string default: the detector title: Detector - name: place in: query required: false schema: anyOf: - type: string - type: 'null' title: Place - name: confidence in: query required: false schema: anyOf: - type: string - type: 'null' title: Confidence responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/vc: post: tags: - agent summary: V1 Vc description: 'Security quarantine: legacy VC wrapping did not verify the inner receipt or role boundaries.' operationId: v1_vc_v1_vc_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/station/register: post: tags: - agent summary: V1 Station Register description: 'WE SIGN YOUR STATION, register your own sensor so its readings can be witnessed as signed receipts. Body: {"name": "...", "location": {"lat": .., "lon": ..}, "quantities": ["wind_kmh", ...]}. Returns a station_id + provenance. Dynamic Feed witnesses what your station reports; it does not measure the value. Your key is stored only as a non-reversible hash. Auth: X-API-Key (free key at POST /signup).' operationId: v1_station_register_v1_station_register_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/station/reading: post: tags: - agent summary: V1 Station Reading description: 'Witness one reading your station reported: get back a signed station-receipt/v1 stating, in words, that the value is self-reported by your station and only WITNESSED (not measured) by Dynamic Feed. Body: {"station_id": "stn_...", "quantity": "wind_kmh", "value": 12.4, "unit": "km/h", "observed_at": "..."}. Keyless verification against /.well-known/keys. Auth: X-API-Key.' operationId: v1_station_reading_v1_station_reading_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/station/{station_id}: get: tags: - agent summary: V1 Station Get description: 'The public descriptor of a registered station (no owner identity). Keyless, so a verifier of a station-receipt can see what the station is and what it reports.' operationId: v1_station_get_v1_station__station_id__get parameters: - name: station_id in: path required: true schema: type: string title: Station Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/proxy-witness: post: tags: - agent summary: V1 Proxy Witness description: 'PROXY WITNESS, route any third-party API call through Dynamic Feed and get a signed, archived receipt of exactly what that URL returned to us at this moment. Body: {"url": "https://...", "method": "GET"|"POST"|..., "headers": {...}, "body": "...", "echo": false, "subject": "..."}. We fetch server-side under an SSRF guard (only public http/https targets; private and reserved addresses blocked; redirects not followed), redact your request credentials from the record, and sign a proxy-witness/v1 envelope carrying the response status, content-type, size and SHA-256 (the full body only when echo:true and small; our archive is hash-first and never keeps the body). Witnesses what the URL returned to us, not that the content is true; never the money path. Auth: X-API-Key (free key at POST /signup).' operationId: v1_proxy_witness_v1_proxy_witness_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/witness: post: tags: - agent summary: V1 Witness description: 'WITNESS a machine-to-machine / agent-to-agent transaction RECORD — a neutral, third-party, Ed25519-signed, transparency-logged, RFC 3161 timestampable receipt that this exact record EXISTED and is INTACT. Dynamic Feed sits BESIDE the transaction, NEVER in the value path: it only signs + timestamps + anchors a HASH of a record you give it. It never accepts, holds, routes, converts or custodies funds or anything of value. Send the record ({"payload": }) or keep it private ({"content_hash": "<64-hex sha256>"}). Optional: parties[] (opaque ids — NO PII), txn_ref (opaque), and a BYO-key agent co-signature (provider_pubkey + provider_sig, Ed25519 over the ascii-hex hash) so the receipt reads "agent attested, Dynamic Feed witnessed". Auth: a FREE key (POST /signup) — no KYC. PROVES: the record existed at issued_at, is intact (tamper-EVIDENT, verifiable via /verify.js against /.well-known/keys), and which agent key co-signed. Does NOT prove the transaction was authorized, correct, lawful, completed, or that any value moved. Profile of receipt/v1. Anchor independently via POST /v1/anchor.' operationId: v1_witness_v1_witness_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/witness/sample: get: tags: - agent summary: V1 Witness Sample description: 'A keyless, signed SAMPLE txn-receipt/v1 — for the /witness demo. Shows exactly what POST /v1/witness returns (without writing to the log or needing a key): a neutral witness of a sample machine-to-machine transaction record, with the recent-Bitcoin-block NOT-BEFORE time marker. Verify it in-browser via /verify.js, then flip a byte and watch verification fail.' operationId: v1_witness_sample_v1_witness_sample_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/inference-receipt: post: tags: - agent summary: V1 Inference Receipt description: 'WITNESS a single AI model INFERENCE — a neutral, Ed25519-signed, transparency-logged, RFC 3161 timestampable receipt that this inference record EXISTED and is INTACT. Privacy by CONSTRUCTION: the caller hashes the prompt + response LOCALLY and sends ONLY fixed-length sha256 hashes + non-PII metadata. Body: {"claimed_model": "", "prompt_sha256": "<64-hex>", "response_sha256": "<64-hex>"} plus optional requested_model, latency_ms, token_count, fallback_flag (the provider''s OWN flag), provider, region, and a BYO-key agent co-signature (provider_pubkey + provider_sig). Auth: a FREE key (POST /signup) — no KYC. PROVES: the record existed at issued_at and is intact (tamper-EVIDENT, verifiable via /verify.js against /.well-known/keys). Does NOT independently verify which model actually ran, does NOT adjudicate that a ''downgrade'' occurred, does NOT score quality — model_match is a literal string comparison and the holder draws any inference. Profile of receipt/v1. Anchor via POST /v1/anchor.' operationId: v1_inference_receipt_v1_inference_receipt_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/inference-receipt/sample: get: tags: - agent summary: V1 Inference Receipt Sample description: 'A keyless, signed SAMPLE inference-receipt/v1 — for the /receipts demo. Shows what POST /v1/inference-receipt returns: a neutral witness of a sample inference where the provider served a DIFFERENT model than requested and set its own fallback flag (illustrative, vendor-neutral). Verify it in-browser via /verify.js, then flip a byte and watch verification fail.' operationId: v1_inference_receipt_sample_v1_inference_receipt_sample_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/robot-receipt: post: tags: - robot summary: V1 Robot Receipt description: 'WITNESS a single robot / embodied-AI DECISION: the neutral ''black box'' receipt of what a robot was told and which model/policy decided, at the moment it acted. Ed25519-signed, transparency-logged, RFC 3161 timestampable. Privacy by CONSTRUCTION: the caller hashes the decision inputs (sensor/awareness context) LOCALLY and sends ONLY a fixed-length sha256 + non-PII labels. Body: {"robot_class": "ground|aerial|marine|orbital|humanoid", "model_id": "", "verdict": "go|caution|no-go", "inputs_sha256": "<64-hex>"} plus optional decision, awareness_ref (a prior /v1/awareness snapshot_id), region (COARSE, no precise coords), latency_ms, and a BYO-key co-signature. Auth: a FREE key (POST /signup). ADVISORY EVIDENCE ONLY: proves the decision record existed and is intact (tamper-EVIDENT, verifiable via /verify.js); it does NOT certify the action was safe/correct/ lawful, is NOT a safety system, and is NOT the actuator (the robot''s own certified safety layer decides). Profile of receipt/v1. Anchor via POST /v1/anchor.' operationId: v1_robot_receipt_v1_robot_receipt_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/robot-receipt/sample: get: tags: - robot summary: V1 Robot Receipt Sample description: 'A keyless, signed SAMPLE robot-receipt/v1: the ''black box'' record of an embodied-AI decision (an aerial robot told CAUTION on degraded GPS, which held). Verify it in-browser via /verify.js, then flip a byte and watch verification fail. Advisory evidence only: not a safety system.' operationId: v1_robot_receipt_sample_v1_robot_receipt_sample_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/eval-receipt: post: tags: - agent summary: V1 Eval Receipt description: 'WITNESS an AI EVALUATION run — the neutral ''Verified Eval'' stamp for the contamination-proof- benchmark era. The lab commits its test set as a salted sha256 BEFORE the run (`set_commitment`), so the set stays PRIVATE while the run becomes un-retunable after the fact — solving the evaluator''s dilemma of having to expose a private set to be trusted. Ed25519-signed, transparency-logged, RFC 3161 timestampable. Body: {"eval_name": "", "model_id": "", "metric": "pass@1", "score": 0.58, "set_commitment": "<64-hex>"} plus optional n, run_sha256 (hash of the full transcript), harness, and a BYO-key co-signature. Auth: a FREE key (POST /signup). ADVISORY EVIDENCE ONLY — Dynamic Feed does NOT re-run or verify the score, and does NOT certify the benchmark is fair/representative/contamination-free; it witnesses the COMMITTED run so no party can retune it retroactively. Profile of receipt/v1. Anchor via POST /v1/anchor.' operationId: v1_eval_receipt_v1_eval_receipt_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/eval-receipt/sample: get: tags: - agent summary: V1 Eval Receipt Sample description: 'A keyless, signed SAMPLE eval-receipt/v1 — a ''Verified Eval'' run against a sealed, committed test set (the set stays private; only its commitment is signed). Verify it in-browser via /verify.js, then flip a byte and watch verification fail. Advisory evidence only — DF witnesses the committed run, it does not re-run or certify the benchmark.' operationId: v1_eval_receipt_sample_v1_eval_receipt_sample_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/checkpoints: get: tags: - agent summary: V1 Checkpoints description: 'Daily ARCHIVE CHECKPOINTS, newest first — the append-only claim made independently checkable. Each entry carries the signed archive-day/v1 document: a SHA-256 digest of that day''s full archive listing, per-feed object counts, the previous day''s digest (the chain), and the anchor status of a DLT-timestamp proof committing the digest to a public distributed ledger (RFC 3161 on fallback). Keyless.' operationId: v1_checkpoints_v1_checkpoints_get parameters: - name: limit in: query required: false schema: type: integer default: 30 title: Limit responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/checkpoints/{day}/proof: get: tags: - agent summary: V1 Checkpoint Proof description: 'The raw witness proof for one day''s archive checkpoint. kind=ots (default) returns the DLT-timestamp .ots bytes (verify: ots verify -d checkpoint-.ots); kind=rfc3161 returns the RFC 3161 timestamp token DER from the independent TSA (verify: openssl ts -reply -in checkpoint-.tsr -text, then openssl ts -verify -digest -sha256 -in checkpoint-.tsr). Offline runner for both witnesses: scripts/verify_checkpoint.py. Keyless.' operationId: v1_checkpoint_proof_v1_checkpoints__day__proof_get parameters: - name: day in: path required: true schema: type: string title: Day - name: kind in: query required: false schema: type: string default: ots title: Kind responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/notary/log/head: get: tags: - agent summary: V1 Notary Head description: 'The transparency-log HEAD — count + chain head hash, Ed25519-signed. The anchorable artifact: altering ANY past notarization breaks every entry_hash after it and contradicts the anchored head. Keyless.' operationId: v1_notary_head_v1_notary_log_head_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/notary/log/{idx}: get: tags: - agent summary: V1 Notary Entry description: 'One transparency-log entry by index, Ed25519-signed, with the recipe to recompute its entry_hash and verify chain linkage. Keyless.' operationId: v1_notary_entry_v1_notary_log__idx__get parameters: - name: idx in: path required: true schema: type: integer title: Idx responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/notary/log: get: tags: - agent summary: V1 Notary Log description: 'The PUBLIC TRANSPARENCY LOG of all notarizations — append-only, hash-chained (CT-style), newest first. Payload hashes only (never payloads): private by construction, tamper-evident by recipe. Page back with ?before=. Keyless.' operationId: v1_notary_log_v1_notary_log_get parameters: - name: limit in: query required: false schema: type: integer default: 50 title: Limit - name: before in: query required: false schema: type: integer title: Before responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/notary/log/{idx}/proof: get: tags: - agent summary: V1 Notary Proof description: 'INCLUSION PROOF for a log entry: the consecutive chain of entries from this index to the most recently ANCHORED head (or the current head if no anchor covers it yet), plus the anchor record. Recompute each entry_hash and you have proven this entry is in the history the Bitcoin anchor commits to — no trust in Dynamic Feed required. Keyless.' operationId: v1_notary_proof_v1_notary_log__idx__proof_get parameters: - name: idx in: path required: true schema: type: integer title: Idx responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/witness/{idx}/inclusion: get: tags: - agent summary: V1 Witness Inclusion description: 'SUCCINCT, browser-verifiable inclusion proof that witness/notary entry {idx} is in the append-only log — an O(log n) RFC-6962 Merkle audit path to a tree root we Ed25519-SIGN (the checkpoint). Any party folds leaf -> root in their own browser and checks the checkpoint signature against /.well-known/keys, with NO trust in Dynamic Feed''s word (only its published key). Keyless. Recipe: leaf = sha256(0x00 ‖ content_hash_bytes); node = sha256(0x01 ‖ left ‖ right); fold the audit_path (each {sibling, side}) up to root_sha256; confirm it equals the signed checkpoint.root_sha256, then verify the checkpoint Ed25519 signature. In-browser via /verify.js verifyInclusion(). Complements GET /v1/notary/log/{idx}/proof (the O(n) chain replay): the chain proves append-order, this proves succinct membership in a signed tree.' operationId: v1_witness_inclusion_v1_witness__idx__inclusion_get parameters: - name: idx in: path required: true schema: type: integer title: Idx responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/notary/feeds: post: tags: - agent summary: V1 Notary Feed Register description: 'CONTINUOUS NOTARIZATION — register a feed URL and Dynamic Feed fetches it on your interval, notarizing every CHANGE into the public transparency log automatically: a standing, tamper-evident history of what your feed published, when. Body: {"url": "https://...", "subject": "Your Co", "interval_minutes": 180 (min 60)}. Beta: 3 active feeds per key. The first fetch happens immediately and its notarization is returned.' operationId: v1_notary_feed_register_v1_notary_feeds_post parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' get: tags: - agent summary: V1 Notary Feeds List description: 'Your registered continuous-notarization feeds (same X-API-Key): status, last hash, last log index, next-run cadence.' operationId: v1_notary_feeds_list_v1_notary_feeds_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/benchmark: get: tags: - agent summary: V1 Benchmark description: 'The LIVE-FACTS BENCHMARK — a continuously-refreshed eval of facts that move after a model''s training cutoff. Ask a model these questions WITHOUT tools and grade against the answers measured from authoritative sources at call time: every frozen model fails; a grounded agent passes. Each item carries its grading rule, source and measured_at; the whole set is Ed25519-signed so a published score is verifiable evidence, not a claim. Regenerate per run — answers are time-sensitive by design. Keyless.' operationId: v1_benchmark_v1_benchmark_get responses: '200': description: Successful Response content: application/json: schema: {} /v1/benchmark/history: get: tags: - agent summary: V1 Benchmark History description: 'DRIFT OVER TIME — daily snapshots of the live-facts benchmark (GET /v1/benchmark), oldest first. Each snapshot is the items array exactly as measured that day, so diffing consecutive snapshots shows how fast reality moves away from any fixed training cutoff: rates shift, releases ship, CVEs land. History starts at first_snapshot_at and grows one snapshot per day. Human-readable charts at /benchmark/history. Ed25519-signed. Keyless.' operationId: v1_benchmark_history_v1_benchmark_history_get parameters: - name: days in: query required: false schema: type: integer maximum: 365 minimum: 1 default: 90 title: Days responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/nearby: get: tags: - agent summary: V1 Nearby description: 'Signed situational scan: live hazards near a point — earthquakes (USGS), natural events (NASA EONET: wildfires/volcanoes/floods/storms), major disasters (GDACS) and, in Australia, live satellite bushfire hotspots (Geoscience Australia) within radius_km, nearest first. Ed25519-signed (verify against GET /.well-known/keys). The ''what''s around me'' ping for any machine that moves — robots, drones, in-car AI assistants, fleet telematics — complements the go/caution/no-go verdict from /v1/awareness.' operationId: v1_nearby_v1_nearby_get parameters: - name: lat in: query required: true schema: type: number title: Lat - name: lon in: query required: true schema: type: number title: Lon - name: radius_km in: query required: false schema: type: number default: 500.0 title: Radius Km responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/attest: get: tags: - agent summary: V1 Attest description: 'Signed parametric-trigger attestation — evaluate ''metric op threshold'' at a location against the live measurement and return a tamper-evident, Ed25519-signed MET / NOT-MET record. The dispute-proof oracle a parametric-insurance payout can settle against. metric: wind_kmh | temperature_c | feels_like_c | precipitation_mm. op: gt | gte | lt | lte. Verify against GET /.well-known/keys; timestamp via POST /v1/anchor (RFC 3161) for independent proof of when.' operationId: v1_attest_v1_attest_get parameters: - name: metric in: query required: true schema: type: string title: Metric - name: threshold in: query required: true schema: type: number title: Threshold - name: op in: query required: false schema: type: string default: gte title: Op - name: lat in: query required: false schema: type: number title: Lat - name: lon in: query required: false schema: type: number title: Lon - name: city in: query required: false schema: type: string title: City responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/trigger-receipt: get: tags: - agent summary: V1 Trigger Receipt description: 'Parametric catastrophe TRIGGER RECEIPT (DF-VERIFY/1 `trigger-receipt/v1`) — the dispute-proof oracle a parametric payout settles against. Evaluates ''metric op threshold'' at a location against the live official reading and returns an Ed25519-signed receipt carrying the four properties that end a parametric dispute: (1) a pinned + hashed methodology (nobody moves the goalposts after the event); (2) the exact re-fetchable source_url + a raw_reading_hash anyone can reproduce (independent verifiability, not ''trust us''); (3) a deterministic determination — triggered + payout_factor + rationale, re-computable by any party; (4) the signature (timestamp via POST /v1/anchor (RFC 3161) for proof of when). Neutral calculation-agent-of- record: attests what the official source reported and what the pinned methodology implies — NOT ground-truth physical loss. v0.1 metrics: wind_kmh | temperature_c | feels_like_c | precipitation_mm (Open-Meteo). op: gt | gte | lt | lte. Verify against GET /.well-known/keys; schema at /schemas/trigger-receipt-v1.json.' operationId: v1_trigger_receipt_v1_trigger_receipt_get parameters: - name: metric in: query required: true schema: type: string title: Metric - name: threshold in: query required: true schema: type: number title: Threshold - name: op in: query required: false schema: type: string default: gte title: Op - name: lat in: query required: false schema: type: number title: Lat - name: lon in: query required: false schema: type: number title: Lon - name: city in: query required: false schema: type: string title: City - name: peril in: query required: false schema: type: string title: Peril - name: contract_ref in: query required: false schema: type: string title: Contract Ref - name: methodology in: query required: false schema: type: string title: Methodology responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/intensity: get: tags: - agent summary: V1 Intensity description: 'INTENSITY-AT-LOCATION (DF-VERIFY/1 `intensity/v1`) — the parameter value at an exact coordinate, signed and reproducible: the settlement-grade reading a parametric trigger evaluates against. Not ''an event happened'' but ''the value at this lat/lon, from the region''s authoritative source''. v1 peril: flood — routed by coordinate to the nearest official river gauge: AU -> BoM Water Data Online (water-course level m; CC BY 4.0), US -> USGS NWIS (gage height ft / discharge ft3/s). Point-resolved, no interpolation. drought, wildfire and earthquake (ShakeMap) intensity are rolling in. Verify the Ed25519 signature against GET /.well-known/keys; re-fetch source_url to reproduce raw_reading_hash (see hash_method). SCOPE: attests the reading at the cited official gauge — NOT a basin-wide determination or physical loss.' operationId: v1_intensity_v1_intensity_get parameters: - name: lat in: query required: true schema: type: number title: Lat - name: lon in: query required: true schema: type: number title: Lon - name: peril in: query required: false schema: type: string default: flood title: Peril - name: metric in: query required: false schema: type: string title: Metric responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/bushfire: get: tags: - agent summary: V1 Bushfire description: 'Signed Australian bushfire/fire hotspots (last ~3 days) from Geoscience Australia / Digital Earth Australia Hotspots — keyless, CC BY 4.0. lat & lon (+ radius_km) for hotspots near a point, a state code (NSW/QLD/VIC/SA/WA/TAS/NT/ACT), or neither for recent Australia-wide. Ed25519-signed; verify against GET /.well-known/keys. A hotspot is a satellite thermal anomaly — not every one is a confirmed bushfire.' operationId: v1_bushfire_v1_bushfire_get parameters: - name: lat in: query required: false schema: type: number title: Lat - name: lon in: query required: false schema: type: number title: Lon - name: radius_km in: query required: false schema: type: number default: 150 title: Radius Km - name: state in: query required: false schema: type: string default: '' title: State - name: limit in: query required: false schema: type: integer default: 20 title: Limit responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/anchor: post: tags: - robot summary: V1 Anchor description: 'Timestamp a snapshot''s hash with an independent RFC 3161 authority — returns a signed timestamp token proving the record existed at time T, independently verifiable, even against us. Body: {"snapshot": {...}} (its canonical SHA-256 is timestamped) or {"digest_hex": "<64-hex sha256>"}. Hashes ONLY, never data. Off the verdict hot path (Rung C).' operationId: v1_anchor_v1_anchor_post responses: '200': description: Successful Response content: application/json: schema: {} /v1/anchor/upgrade: post: tags: - robot summary: V1 Anchor Upgrade description: 'Re-check a stored timestamp proof. RFC 3161 tokens are final at issue (nothing to upgrade); a legacy OpenTimestamps proof is folded into its block attestation. Body: {"token_b64": "..."} (legacy {"proof_ots_b64": "..."} still accepted).' operationId: v1_anchor_upgrade_v1_anchor_upgrade_post responses: '200': description: Successful Response content: application/json: schema: {} /signup: post: summary: Signup description: Get a free API key instantly. operationId: signup_signup_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Body_signup_signup_post' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /models: get: summary: Models description: Search current AI models by price, context, capability. Cheapest first. (Requires API key.) operationId: models_models_get parameters: - name: q in: query required: false schema: anyOf: - type: string - type: 'null' description: match model name/id title: Q description: match model name/id - name: provider in: query required: false schema: anyOf: - type: string - type: 'null' description: openai, anthropic, google, ... title: Provider description: openai, anthropic, google, ... - name: max_input_price in: query required: false schema: anyOf: - type: number - type: 'null' description: max USD per 1M input tokens title: Max Input Price description: max USD per 1M input tokens - name: min_context in: query required: false schema: anyOf: - type: integer - type: 'null' description: min context window in tokens title: Min Context description: min context window in tokens - name: needs_vision in: query required: false schema: anyOf: - type: boolean - type: 'null' description: only models that accept images title: Needs Vision description: only models that accept images - name: limit in: query required: false schema: type: integer maximum: 200 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /dataset: get: summary: Dataset Index description: 'Open, free, crawlable snapshots of every feed (for AI training & research). The real-time, filterable API + MCP endpoint remain the product; this is a public snapshot so the data spreads into the corpus AIs learn from.' operationId: dataset_index_dataset_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/models.json: get: summary: Dataset Models operationId: dataset_models_dataset_models_json_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/servers.json: get: summary: Dataset Servers operationId: dataset_servers_dataset_servers_json_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/status.json: get: summary: Dataset Status operationId: dataset_status_dataset_status_json_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/news.json: get: summary: Dataset News operationId: dataset_news_dataset_news_json_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/consensus.json: get: summary: Dataset Consensus operationId: dataset_consensus_dataset_consensus_json_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/versions.json: get: summary: Dataset Versions operationId: dataset_versions_dataset_versions_json_get responses: '200': description: Successful Response content: application/json: schema: {} /dataset/advisories.json: get: summary: Dataset Advisories operationId: dataset_advisories_dataset_advisories_json_get responses: '200': description: Successful Response content: application/json: schema: {} /servers: get: summary: Servers description: Search the MCP server registry — find AI agent tools. Most-starred first. (Requires API key.) operationId: servers_servers_get parameters: - name: q in: query required: false schema: anyOf: - type: string - type: 'null' description: match server name/description title: Q description: match server name/description - name: has_remote in: query required: false schema: anyOf: - type: boolean - type: 'null' description: only servers with a hosted/remote endpoint title: Has Remote description: only servers with a hosted/remote endpoint - name: min_stars in: query required: false schema: anyOf: - type: integer - type: 'null' description: minimum GitHub stars title: Min Stars description: minimum GitHub stars - name: limit in: query required: false schema: type: integer maximum: 200 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /status: get: summary: Status description: Live up/down/degraded status for major AI & dev services. Issues first. (Requires API key.) operationId: status_status_get parameters: - name: category in: query required: false schema: anyOf: - type: string - type: 'null' description: ai | dev | infra | platform title: Category description: ai | dev | infra | platform - name: only_issues in: query required: false schema: anyOf: - type: boolean - type: 'null' description: only services currently degraded/down title: Only Issues description: only services currently degraded/down - name: limit in: query required: false schema: type: integer maximum: 200 default: 100 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /news: get: summary: News description: Latest AI news & releases across providers. Newest first. (Requires API key.) operationId: news_news_get parameters: - name: q in: query required: false schema: anyOf: - type: string - type: 'null' description: match title/summary title: Q description: match title/summary - name: source in: query required: false schema: anyOf: - type: string - type: 'null' description: OpenAI, Google AI, Hugging Face, ... title: Source description: OpenAI, Google AI, Hugging Face, ... - name: limit in: query required: false schema: type: integer maximum: 100 default: 30 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /benchmarks: get: summary: Benchmarks description: Measured latency & uptime per AI provider — our own data, fastest first. (Requires API key.) operationId: benchmarks_benchmarks_get parameters: - name: window_hours in: query required: false schema: type: integer maximum: 720 minimum: 1 description: rolling window in hours default: 24 title: Window Hours description: rolling window in hours - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /benchmarks/history: get: summary: Benchmarks History description: 'The PERMANENT daily provider-latency & uptime archive — data Dynamic Feed measures itself and never prunes, so it cannot be backfilled by anyone. Built for quant / eval / research use. Free keys get a 7-day sample; paid plans get the full history. (Requires API key.)' operationId: benchmarks_history_benchmarks_history_get parameters: - name: provider in: query required: false schema: type: string description: filter to one provider, e.g. openai (optional) default: '' title: Provider description: filter to one provider, e.g. openai (optional) - name: days in: query required: false schema: type: integer maximum: 1825 minimum: 1 description: lookback in days default: 90 title: Days description: lookback in days - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /movers: get: summary: Movers description: 'DERIVED signal — biggest 24h gainers or losers across the markets we track. Computed from Dynamic Feed''s own data & recorded history (not a raw source you can scrape). (Requires API key.)' operationId: movers_movers_get parameters: - name: direction in: query required: false schema: type: string description: gainers | losers default: gainers title: Direction description: gainers | losers - name: asset_class in: query required: false schema: anyOf: - type: string - type: 'null' description: crypto | stock | index | forex | commodity | metal title: Asset Class description: crypto | stock | index | forex | commodity | metal - name: limit in: query required: false schema: type: integer maximum: 100 default: 15 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /consensus: get: summary: Consensus description: 'PROPRIETARY: real-time cross-exchange price consensus — the median price across several independent venues plus how tightly they agree (spread in basis points), the min/max, and the per-venue breakdown. Tells an AI tool the real price AND whether to trust it. Measured by Dynamic Feed; available nowhere else. (Requires API key.)' operationId: consensus_consensus_get parameters: - name: symbol in: query required: false schema: anyOf: - type: string - type: 'null' description: exact symbol, e.g. BTC, ETH, SOL title: Symbol description: exact symbol, e.g. BTC, ETH, SOL - name: limit in: query required: false schema: type: integer maximum: 100 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /versions: get: summary: Versions description: 'Latest stable versions & end-of-life dates for languages, runtimes, frameworks, databases & OSes. Answers ''what''s the latest X?'' and ''is version Y still supported?''. Each row has a `status` (supported/nearing-eol/end-of-life) + provenance. (Requires API key.)' operationId: versions_versions_get parameters: - name: product in: query required: false schema: anyOf: - type: string - type: 'null' description: exact product, e.g. python, nodejs, postgresql title: Product description: exact product, e.g. python, nodejs, postgresql - name: q in: query required: false schema: anyOf: - type: string - type: 'null' description: match a product name title: Q description: match a product name - name: category in: query required: false schema: anyOf: - type: string - type: 'null' description: language | runtime | framework | database | os | tool title: Category description: language | runtime | framework | database | os | tool - name: only_supported in: query required: false schema: anyOf: - type: boolean - type: 'null' description: exclude end-of-life release lines title: Only Supported description: exclude end-of-life release lines - name: only_lts in: query required: false schema: anyOf: - type: boolean - type: 'null' description: only long-term-support lines title: Only Lts description: only long-term-support lines - name: limit in: query required: false schema: type: integer maximum: 300 default: 100 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /advisories: get: summary: Advisories description: 'Recent security advisories / CVEs — affected package, vulnerable version range, patched version, severity & CVSS. Filter by package/ecosystem/severity. Newest first. Pairs with /versions: is my stack current AND safe? (Requires API key.)' operationId: advisories_advisories_get parameters: - name: q in: query required: false schema: anyOf: - type: string - type: 'null' description: match summary / package / CVE / GHSA id title: Q description: match summary / package / CVE / GHSA id - name: package in: query required: false schema: anyOf: - type: string - type: 'null' description: affected package name, e.g. lodash, requests title: Package description: affected package name, e.g. lodash, requests - name: ecosystem in: query required: false schema: anyOf: - type: string - type: 'null' description: npm | pip | maven | go | rubygems | nuget | composer | ... title: Ecosystem description: npm | pip | maven | go | rubygems | nuget | composer | ... - name: severity in: query required: false schema: anyOf: - type: string - type: 'null' description: low | moderate | high | critical title: Severity description: low | moderate | high | critical - name: min_cvss in: query required: false schema: anyOf: - type: number - type: 'null' description: minimum CVSS score (0-10) title: Min Cvss description: minimum CVSS score (0-10) - name: limit in: query required: false schema: type: integer maximum: 200 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /signals: get: summary: Signals description: 'DERIVED proprietary signals computed from Dynamic Feed''s recorded history — realized volatility, price range, and how the cross-exchange spread is trending (widening/narrowing). Branded numbers only we have; richer as history accumulates. (Requires API key.)' operationId: signals_signals_get parameters: - name: symbol in: query required: true schema: type: string description: instrument symbol, e.g. BTC, ETH, XAU, EURUSD title: Symbol description: instrument symbol, e.g. BTC, ETH, XAU, EURUSD - name: hours in: query required: false schema: type: integer maximum: 720 minimum: 1 description: window default: 24 title: Hours description: window - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /market-hours: get: summary: Market Hours description: 'Is the market open right now? Live open/closed + next open/close for major exchanges (plus crypto 24/7 and forex 24/5). Tells an AI whether a price is live or a closed-market last-print. (Requires API key.)' operationId: market_hours_market_hours_get parameters: - name: market in: query required: false schema: anyOf: - type: string - type: 'null' description: NYSE, NASDAQ, LSE, XETRA, TSE, HKEX, ASX, Crypto, Forex title: Market description: NYSE, NASDAQ, LSE, XETRA, TSE, HKEX, ASX, Crypto, Forex - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /rates: get: summary: Rates description: 'Live US benchmark interest rates (Fed funds / SOFR / OBFR…) from the New York Fed — the rates models perpetually quote stale. (Requires API key.)' operationId: rates_rates_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /iss: get: summary: Iss description: 'Where the International Space Station is right now + who''s aboard + orbital-latency floor. (Requires API key.)' operationId: iss_iss_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /satellites: get: summary: Satellites description: 'Satellite/constellation catalog (Starlink, GPS, stations…) with altitude, orbital period, and a derived light-speed round-trip latency to ground — the physics floor for orbital networks. (Requires API key.)' operationId: satellites_satellites_get parameters: - name: group in: query required: false schema: type: string description: starlink, stations, gps-ops, oneweb, galileo, weather, active, geo default: starlink title: Group description: starlink, stations, gps-ops, oneweb, galileo, weather, active, geo - name: limit in: query required: false schema: type: integer maximum: 200 default: 25 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /satellite: get: summary: Satellite description: 'Real-time position of ANY satellite by NORAD id — true SGP4 propagation of the latest live CelesTrak TLE to the current instant: exact lat/lon, altitude, velocity, ground-footprint radius, the speed-of-light latency floor, and the TLE''s age. Optionally a forward ground-track. (Requires API key.)' operationId: satellite_satellite_get parameters: - name: norad_id in: query required: true schema: type: integer description: NORAD catalog number, e.g. 25544 (ISS), 20580 (Hubble), 44714 (a Starlink) title: Norad Id description: NORAD catalog number, e.g. 25544 (ISS), 20580 (Hubble), 44714 (a Starlink) - name: track_minutes in: query required: false schema: type: integer maximum: 360 minimum: 0 description: also return a predicted ground-track this many minutes ahead (0 = none) default: 0 title: Track Minutes description: also return a predicted ground-track this many minutes ahead (0 = none) - name: step_seconds in: query required: false schema: type: integer maximum: 600 minimum: 10 description: ground-track sampling step in seconds default: 60 title: Step Seconds description: ground-track sampling step in seconds - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /launches: get: summary: Launches description: Upcoming rocket launches worldwide — name, provider, rocket, time, site. (Requires API key.) operationId: launches_launches_get parameters: - name: provider in: query required: false schema: anyOf: - type: string - type: 'null' description: filter by provider, e.g. SpaceX title: Provider description: filter by provider, e.g. SpaceX - name: limit in: query required: false schema: type: integer maximum: 30 default: 8 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /orbital-datacenters: get: summary: Orbital Datacenters description: 'DATA CENTERS IN SPACE — a curated registry of compute/AI spacecraft in orbit (Starcloud''s NVIDIA H100, ESA Φsat-2 AI edge, D-Orbit in-orbit cloud), each enriched with live orbital data and the speed-of-light latency floor for ground links. Data nowhere else. (Requires API key.)' operationId: orbital_datacenters_orbital_datacenters_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /space-weather: get: summary: Space Weather description: 'Full space-weather now-cast — NOAA R/S/G storm scales, geomagnetic Kp, solar wind (speed/ density/Bz, the storm driver) and the latest solar X-ray flux/flare. Affects satellite comms & drag, GPS, HF radio, power grids and orbital-compute radiation/power. (Requires API key.)' operationId: space_weather_space_weather_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /internet-outages: get: summary: Internet Outages description: 'Live BGP routing health for a network resource from RIPEstat (RIPE NCC). Global visibility + outage signal (healthy/degraded/outage) — a sharp visibility drop = the network is losing global reachability. The clean, redistributable RIPEstat replacement for CAIDA. (Requires API key.)' operationId: internet_outages_internet_outages_get parameters: - name: resource in: query required: false schema: type: string description: an ASN (AS3215), an IP (8.8.8.8), or a prefix (193.0.0.0/22) default: '' title: Resource description: an ASN (AS3215), an IP (8.8.8.8), or a prefix (193.0.0.0/22) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /gps-interference: get: summary: Gps Interference description: 'Probable GPS/GNSS interference (jamming/spoofing) over an area, MEASURED from live ADS-B navigation integrity (the GPSJam method) — a Dynamic Feed-derived signal (from adsb.lol, CC0). Pass a region preset or lat+lon. (Requires API key.)' operationId: gps_interference_gps_interference_get parameters: - name: region in: query required: false schema: type: string description: 'preset: london, blacksea, baltic, easternmed, persiangulf, korea, finland, caucasus, northsea' default: '' title: Region description: 'preset: london, blacksea, baltic, easternmed, persiangulf, korea, finland, caucasus, northsea' - name: lat in: query required: false schema: anyOf: - type: number - type: 'null' description: latitude (use with lon instead of a preset) title: Lat description: latitude (use with lon instead of a preset) - name: lon in: query required: false schema: anyOf: - type: number - type: 'null' description: longitude title: Lon description: longitude - name: radius_km in: query required: false schema: type: integer maximum: 460 minimum: 20 description: radius around lat/lon in km default: 300 title: Radius Km description: radius around lat/lon in km - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /energy: get: summary: Energy Grid description: 'Live US electricity grid data (EIA v2, public domain): demand, net generation, or current fuel mix by region/operator. Hourly. (Requires API key.)' operationId: energy_grid_energy_get parameters: - name: region in: query required: false schema: type: string description: 'US48 (national) or a grid operator: CAISO, PJM, MISO, ERCOT, ISONE, NYISO, SPP, BPA' default: US48 title: Region description: 'US48 (national) or a grid operator: CAISO, PJM, MISO, ERCOT, ISONE, NYISO, SPP, BPA' - name: metric in: query required: false schema: type: string description: demand | generation | mix default: demand title: Metric description: demand | generation | mix - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /macro: get: summary: Global Macro description: 'Worldwide macro indicators for any country (World Bank Open Data, CC-BY) — globalizes the China-only macro. (Requires API key.)' operationId: global_macro_macro_get parameters: - name: country in: query required: false schema: type: string description: ISO code (US, GB, DE, IN, BR, JP, CN) or country name default: '' title: Country description: ISO code (US, GB, DE, IN, BR, JP, CN) or country name - name: indicator in: query required: false schema: type: string description: gdp | gdp_growth | cpi_inflation | unemployment | population | exports | imports | current_account | fx_reserves | fdi | govt_debt_pct_gdp | all default: all title: Indicator description: gdp | gdp_growth | cpi_inflation | unemployment | population | exports | imports | current_account | fx_reserves | fdi | govt_debt_pct_gdp | all - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /earthquakes: get: summary: Earthquakes description: 'Recent earthquakes worldwide (USGS) — magnitude, depth, location, PAGER impact alert, tsunami flag, felt reports and significance. Sorted by impact then magnitude. (Requires API key.)' operationId: earthquakes_earthquakes_get parameters: - name: min_magnitude in: query required: false schema: type: number minimum: 0 description: minimum magnitude default: 2.5 title: Min Magnitude description: minimum magnitude - name: period in: query required: false schema: type: string description: hour | day | week | month default: day title: Period description: hour | day | week | month - name: tsunami_only in: query required: false schema: type: boolean description: only quakes flagged with tsunami potential default: false title: Tsunami Only description: only quakes flagged with tsunami potential - name: limit in: query required: false schema: type: integer maximum: 200 default: 30 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /natural-events: get: summary: Natural Events description: 'Active natural events worldwide (NASA EONET) — wildfires, severe storms, volcanoes, floods, sea/lake ice. "What natural events are happening on Earth right now?". (Requires API key.)' operationId: natural_events_natural_events_get parameters: - name: category in: query required: false schema: anyOf: - type: string - type: 'null' description: wildfires | severeStorms | volcanoes | floods | seaLakeIce title: Category description: wildfires | severeStorms | volcanoes | floods | seaLakeIce - name: days in: query required: false schema: type: integer maximum: 365 minimum: 1 description: look-back window in days default: 30 title: Days description: look-back window in days - name: limit in: query required: false schema: type: integer maximum: 100 default: 30 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /wildfires: get: summary: Wildfires description: 'Active US wildfires (NIFC WFIGS) — incident name, size in acres, % contained, cause, state and location. The ''how big / how contained'' detail hotspot feeds can''t give. Largest first. (Requires API key.)' operationId: wildfires_wildfires_get parameters: - name: state in: query required: false schema: anyOf: - type: string - type: 'null' description: filter to a US state, e.g. CA, TX (2-letter) title: State description: filter to a US state, e.g. CA, TX (2-letter) - name: only_uncontained in: query required: false schema: type: boolean description: only fires below 100% containment default: false title: Only Uncontained description: only fires below 100% containment - name: min_acres in: query required: false schema: type: number minimum: 0 description: minimum incident size in acres default: 0 title: Min Acres description: minimum incident size in acres - name: limit in: query required: false schema: type: integer maximum: 100 default: 25 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /global-disasters: get: summary: Global Disasters Ep description: 'Worldwide multi-hazard disaster alerts (GDACS) — earthquakes, tropical cyclones, floods, droughts, volcanoes — with a Green/Orange/Red humanitarian-impact level + affected countries. The ''how bad, where, who''s affected'' severity layer. (Requires API key.)' operationId: global_disasters_ep_global_disasters_get parameters: - name: alert_level in: query required: false schema: type: string description: Green;Orange;Red (semicolon-separated) default: Orange;Red title: Alert Level description: Green;Orange;Red (semicolon-separated) - name: event_type in: query required: false schema: anyOf: - type: string - type: 'null' description: EQ | TC | FL | DR | VO | WF title: Event Type description: EQ | TC | FL | DR | VO | WF - name: country in: query required: false schema: anyOf: - type: string - type: 'null' description: country name or ISO3 (e.g. PHL) title: Country description: country name or ISO3 (e.g. PHL) - name: days in: query required: false schema: type: integer maximum: 90 minimum: 1 description: look-back window in days default: 7 title: Days description: look-back window in days - name: limit in: query required: false schema: type: integer maximum: 100 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /china: get: summary: China Ep description: 'China markets & macro AIs lack: Shanghai Composite + Hang Seng, A-share/China ETF proxies (CSI 300, MSCI China, internet, tech, consumer...), CNY/HKD & cross FX, and 12 World Bank macro series + a derived trade balance. `metric` narrows the slice. (Requires API key.)' operationId: china_ep_china_get parameters: - name: metric in: query required: false schema: type: string description: all | indices | fx | etfs | macro default: all title: Metric description: all | indices | fx | etfs | macro - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /shipping: get: summary: Shipping Ep description: 'Global shipping & maritime: daily ship transits through the world''s 28 chokepoints (Suez, Panama, Hormuz, Malacca, Taiwan...) via IMF PortWatch, the ~2,065-port global registry, and LIVE Baltic vessel positions (AIS, Digitraffic) enriched with ship name/type/destination. (Requires API key.)' operationId: shipping_ep_shipping_get parameters: - name: scope in: query required: false schema: type: string description: chokepoints | ports | vessels default: chokepoints title: Scope description: chokepoints | ports | vessels - name: query in: query required: false schema: type: string description: filter by name/country (chokepoints, ports) or ship name/destination (vessels) default: '' title: Query description: filter by name/country (chokepoints, ports) or ship name/destination (vessels) - name: region in: query required: false schema: type: string description: 'Baltic preset for scope=vessels: baltic, helsinki, stockholm, kiel, gdansk, copenhagen, riga, gulf-of-finland' default: baltic title: Region description: 'Baltic preset for scope=vessels: baltic, helsinki, stockholm, kiel, gdansk, copenhagen, riga, gulf-of-finland' - name: limit in: query required: false schema: type: integer maximum: 100 default: 30 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /whats-new: get: summary: Whats New Ep description: 'What an AI has missed since its training cutoff — a LIVE snapshot of the current world (trending model, live prices, top exploited CVE, latest versions, a headline, fastest AI API) with a plain-English summary. The ''pulse'' every connecting model can read. (Requires API key on REST; the same tool is keyless over MCP.)' operationId: whats_new_ep_whats_new_get parameters: - name: cutoff in: query required: false schema: type: string description: your knowledge cutoff if known, e.g. 2024-10 (optional) default: '' title: Cutoff description: your knowledge cutoff if known, e.g. 2024-10 (optional) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /reality-check: get: summary: Reality Check Ep description: 'Fact-check a statement against LIVE data — verdict (accurate / stale_or_wrong / current_value / outside_coverage) + the live value + source. The anti-hallucination check; covers prices, market hours, software versions, service status. (Key on REST; same tool keyless over MCP.)' operationId: reality_check_ep_reality_check_get parameters: - name: claim in: query required: false schema: type: string description: a statement to verify, e.g. "BTC is $90,000" or "the market is open" default: '' title: Claim description: a statement to verify, e.g. "BTC is $90,000" or "the market is open" - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /time: get: summary: Time Ep description: Current date/time anywhere — an LLM has no clock. (Requires API key; keyless over MCP.) operationId: time_ep_time_get parameters: - name: tz in: query required: false schema: type: string description: IANA timezone, e.g. America/New_York (default UTC) default: UTC title: Tz description: IANA timezone, e.g. America/New_York (default UTC) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /convert: get: summary: Convert Ep description: 'Convert money between fiat currencies at the LIVE ECB reference rate. Crypto & precious-metal conversion is coming in a future release. (Requires API key; keyless over MCP.)' operationId: convert_ep_convert_get parameters: - name: amount in: query required: false schema: type: number description: amount to convert default: 1 title: Amount description: amount to convert - name: from_currency in: query required: false schema: type: string description: e.g. EUR, GBP, JPY default: USD title: From Currency description: e.g. EUR, GBP, JPY - name: to_currency in: query required: false schema: type: string description: e.g. USD, AUD, CHF default: USD title: To Currency description: e.g. USD, AUD, CHF - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /countdown: get: summary: Countdown Ep description: Time until a live event (market open/close or next rocket launch). (Key on REST; keyless on MCP.) operationId: countdown_ep_countdown_get parameters: - name: event in: query required: false schema: type: string description: e.g. 'NYSE open' or 'next SpaceX launch' default: '' title: Event description: e.g. 'NYSE open' or 'next SpaceX launch' - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /world-pulse: get: summary: World Pulse Ep description: What's happening on Earth right now — one cross-domain live digest. (Key on REST; keyless on MCP.) operationId: world_pulse_ep_world_pulse_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /cite: get: summary: Cite Ep description: A fresh, citeable source + timestamp for a current datapoint. (Key on REST; keyless on MCP.) operationId: cite_ep_cite_get parameters: - name: subject in: query required: false schema: type: string description: any tool/source/topic (earthquakes, USGS, Open-Meteo, ...) or a software product — returns a citeable source + verify URL + timestamp default: '' title: Subject description: any tool/source/topic (earthquakes, USGS, Open-Meteo, ...) or a software product — returns a citeable source + verify URL + timestamp - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /ai-models: get: summary: Ai Models Ep description: 'Current & trending AI models from the open-model ecosystem (Hugging Face) — name, org, task, popularity, release date. Complements /models (closed-flagship pricing & versions). (Requires API key.)' operationId: ai_models_ep_ai_models_get parameters: - name: query in: query required: false schema: anyOf: - type: string - type: 'null' description: search a model name (e.g. llama, qwen, whisper) title: Query description: search a model name (e.g. llama, qwen, whisper) - name: org in: query required: false schema: anyOf: - type: string - type: 'null' description: filter by org/author (e.g. meta-llama, deepseek-ai) title: Org description: filter by org/author (e.g. meta-llama, deepseek-ai) - name: task in: query required: false schema: type: string description: text-generation (default), text-to-image, ... or 'any' default: text-generation title: Task description: text-generation (default), text-to-image, ... or 'any' - name: sort in: query required: false schema: type: string description: trending | newest | downloads default: trending title: Sort description: trending | newest | downloads - name: limit in: query required: false schema: type: integer maximum: 50 default: 25 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /exploited-vulnerabilities: get: summary: Exploited Vulnerabilities description: 'Vulnerabilities CONFIRMED exploited in the wild (CISA KEV) — each enriched with its EPSS exploitation-probability score. The ''which CVEs actually matter right now'' layer. (Requires API key.)' operationId: exploited_vulnerabilities_exploited_vulnerabilities_get parameters: - name: query in: query required: false schema: anyOf: - type: string - type: 'null' description: match CVE id / name / description title: Query description: match CVE id / name / description - name: vendor in: query required: false schema: anyOf: - type: string - type: 'null' description: filter by vendor (e.g. Microsoft, Cisco) title: Vendor description: filter by vendor (e.g. Microsoft, Cisco) - name: product in: query required: false schema: anyOf: - type: string - type: 'null' description: filter by product (e.g. Windows, PAN-OS) title: Product description: filter by product (e.g. Windows, PAN-OS) - name: ransomware_only in: query required: false schema: type: boolean description: only CVEs linked to ransomware campaigns default: false title: Ransomware Only description: only CVEs linked to ransomware campaigns - name: recent_days in: query required: false schema: type: integer minimum: 0 description: only CVEs added to KEV in the last N days default: 0 title: Recent Days description: only CVEs added to KEV in the last N days - name: limit in: query required: false schema: type: integer maximum: 100 default: 25 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /airport-delays: get: summary: Airport Delays description: 'Live FAA airport delays, ground stops, closures & ground-delay programs (US National Airspace System — keyless source). Empty/short list = airspace running normally. (Requires API key.)' operationId: airport_delays_airport_delays_get parameters: - name: airport in: query required: false schema: type: string description: 3-letter airport code, e.g. LGA, LAX (optional) default: '' title: Airport description: 3-letter airport code, e.g. LGA, LAX (optional) - name: limit in: query required: false schema: type: integer maximum: 200 default: 60 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /drug-shortages: get: summary: Drug Shortages description: 'US drug shortages from the FDA (openFDA — keyless source): is drug X in shortage right now, with status, reason and company. Informational — confirm clinically. (Requires API key.)' operationId: drug_shortages_drug_shortages_get parameters: - name: query in: query required: false schema: type: string description: drug / generic name, e.g. amoxicillin (optional) default: '' title: Query description: drug / generic name, e.g. amoxicillin (optional) - name: limit in: query required: false schema: type: integer maximum: 100 default: 25 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sanctions: get: summary: Sanctions Screen description: 'Screen a name against the US OFAC SDN + UK Sanctions List (FCDO, Open Government Licence) — each match tagged with its list (US-OFAC | UK). A match means the party is sanctioned — legally binding the instant it''s posted; models can''t know recent designations. Confirm the full official entry before acting. (Requires API key.)' operationId: sanctions_screen_sanctions_get parameters: - name: name in: query required: false schema: type: string description: name to screen against the US OFAC SDN + UK Sanctions List default: '' title: Name description: name to screen against the US OFAC SDN + UK Sanctions List - name: program in: query required: false schema: type: string description: optional program/regime filter, e.g. IRAN, CUBA, or a UK regime default: '' title: Program description: optional program/regime filter, e.g. IRAN, CUBA, or a UK regime - name: limit in: query required: false schema: type: integer maximum: 100 default: 25 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /volcanoes: get: summary: Volcanoes Ep description: 'Current US volcano alert levels (USGS Volcano Hazards Program, public domain). ''elevated'' = only volcanoes at YELLOW/ORANGE/RED or ADVISORY/WATCH/WARNING; ''all'' = every USGS-monitored volcano. Each carries the ground alert level, aviation colour code and the official notice URL. SCOPE: US volcanoes only — the global Smithsonian GVP dataset is licensed non-commercial. (Requires API key.)' operationId: volcanoes_ep_volcanoes_get parameters: - name: status in: query required: false schema: type: string description: '''elevated'' (default — only active alerts) or ''all''' default: elevated title: Status description: '''elevated'' (default — only active alerts) or ''all''' - name: limit in: query required: false schema: type: integer maximum: 200 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /tides: get: summary: Tides Ep description: 'Current water level + next high/low tides for a US coastal station (NOAA CO-OPS, public domain). SCOPE: US stations only. Not for navigation — confirm against official NOAA tide tables. (Requires API key.)' operationId: tides_ep_tides_get parameters: - name: station in: query required: false schema: type: string description: NOAA station id, e.g. 9414290 default: '' title: Station description: NOAA station id, e.g. 9414290 - name: location in: query required: false schema: type: string description: 'or a preset: san francisco, new york, boston, seattle, honolulu, …' default: '' title: Location description: 'or a preset: san francisco, new york, boston, seattle, honolulu, …' - name: units in: query required: false schema: type: string description: english (feet) | metric default: english title: Units description: english (feet) | metric - name: limit in: query required: false schema: type: integer maximum: 20 default: 6 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /federal-register: get: summary: Federal Register description: 'Recent US Federal Register documents — rules, proposed rules, notices, executive orders (keyless NARA source). Answers what regulation took effect or what the President signed. (Requires API key.)' operationId: federal_register_federal_register_get parameters: - name: query in: query required: false schema: type: string description: text search default: '' title: Query description: text search - name: doc_type in: query required: false schema: type: string description: RULE | PRORULE | NOTICE | PRESDOCU default: '' title: Doc Type description: RULE | PRORULE | NOTICE | PRESDOCU - name: agency in: query required: false schema: type: string description: agency slug, e.g. securities-and-exchange-commission default: '' title: Agency description: agency slug, e.g. securities-and-exchange-commission - name: days in: query required: false schema: type: integer maximum: 90 minimum: 1 default: 7 title: Days - name: limit in: query required: false schema: type: integer maximum: 100 default: 20 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /drought: get: summary: Drought description: 'US drought severity — % of area in each D0-D4 class by week (U.S. Drought Monitor — keyless). National or by state; a commodity-market mover and a hazard signal. (Requires API key.)' operationId: drought_drought_get parameters: - name: area in: query required: false schema: type: string description: '''total'' (US national) or a state FIPS code' default: total title: Area description: '''total'' (US national) or a state FIPS code' - name: weeks in: query required: false schema: type: integer maximum: 52 minimum: 1 default: 6 title: Weeks - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /water-levels: get: summary: Water Levels description: 'Real-time US river levels — gage height + streamflow from USGS (a keyless public-domain source): by state, USGS site number(s), or a curated set of major rivers. Rising gage = flood risk; unusually low flow = drought. Each reading carries its USGS observation time. (Requires API key.)' operationId: water_levels_water_levels_get parameters: - name: state in: query required: false schema: type: string description: 2-letter US state code, e.g. TX, CA (optional) default: '' title: State description: 2-letter US state code, e.g. TX, CA (optional) - name: site in: query required: false schema: type: string description: USGS site number(s), comma-separated (optional) default: '' title: Site description: USGS site number(s), comma-separated (optional) - name: limit in: query required: false schema: type: integer maximum: 100 default: 20 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sports: get: summary: Sports description: 'Global ATTENTION + official schedule for a sporting event/team/competition — e.g. the 2026 FIFA World Cup. Attention = daily Wikipedia article views by language edition, with 7-day momentum & peak; plus hosts, start/end dates and sport from Wikidata. Source: Wikimedia Pageviews + Wikidata (CC0) — this is the neutral global-attention layer, NOT live scores, fixtures or odds. (Requires API key.)' operationId: sports_sports_get parameters: - name: topic in: query required: false schema: type: string description: event/team/competition, e.g. '2026 FIFA World Cup' default: 2026 FIFA World Cup title: Topic description: event/team/competition, e.g. '2026 FIFA World Cup' - name: days in: query required: false schema: type: integer maximum: 90 minimum: 7 description: attention window in days default: 30 title: Days description: attention window in days - name: lang in: query required: false schema: type: string description: primary Wikipedia language edition (en, es, pt, fr, ...) default: en title: Lang description: primary Wikipedia language edition (en, es, pt, fr, ...) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /recalls: get: summary: Recalls description: 'US product recalls — food, drug & medical-device enforcement reports (openFDA, keyless, CC0). ''Is product X recalled right now?'' Class I = most serious; most-recent first. (Requires API key.)' operationId: recalls_recalls_get parameters: - name: query in: query required: false schema: type: string description: match the product description (brand/product), or blank for latest default: '' title: Query description: match the product description (brand/product), or blank for latest - name: category in: query required: false schema: type: string description: all | food | drug | device default: all title: Category description: all | food | drug | device - name: limit in: query required: false schema: type: integer maximum: 50 minimum: 1 default: 20 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /treasury-yields: get: summary: Treasury Yields description: 'US Treasury daily par yield curve + 10Y-2Y / 10Y-3M spreads (the recession signal). Keyless source, US public domain. (Requires API key.)' operationId: treasury_yields_treasury_yields_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /weather-alerts: get: summary: Weather Alerts description: Active US NWS weather alerts/warnings — life-safety watches/warnings/advisories. (Requires API key.) operationId: weather_alerts_weather_alerts_get parameters: - name: area in: query required: false schema: type: string description: 2-letter US state (CA, TX...) or marine zone; blank = nationwide Severe/Extreme default: '' title: Area description: 2-letter US state (CA, TX...) or marine zone; blank = nationwide Severe/Extreme - name: event in: query required: false schema: type: string description: filter by event type, e.g. Flood, Tornado, Heat default: '' title: Event description: filter by event type, e.g. Flood, Tornado, Heat - name: limit in: query required: false schema: type: integer maximum: 50 minimum: 1 default: 20 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /carbon-intensity: get: summary: Carbon Intensity description: 'GB grid carbon intensity now + fuel mix + cleanest upcoming half-hour (NESO, CC-BY, keyless source). (Requires API key.)' operationId: carbon_intensity_carbon_intensity_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sec-filings: get: summary: Sec Filings description: 'Recent SEC EDGAR filings for a US public company (8-K / 10-K / S-1 / Form 4). US public domain. (Requires API key.)' operationId: sec_filings_sec_filings_get parameters: - name: ticker in: query required: false schema: type: string description: US stock ticker, e.g. AAPL, NVDA, TSLA default: '' title: Ticker description: US stock ticker, e.g. AAPL, NVDA, TSLA - name: form in: query required: false schema: type: string description: 'filter by form: 8-K, 10-K, 10-Q, S-1, 4 ...' default: '' title: Form description: 'filter by form: 8-K, 10-K, 10-Q, S-1, 4 ...' - name: limit in: query required: false schema: type: integer maximum: 40 minimum: 1 default: 15 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /flights: get: summary: Flights description: 'Live aircraft right now — real-time positions from adsb.lol community ADS-B (CC0). Filter by region preset and/or callsign. Airborne flights first. (Requires API key.)' operationId: flights_flights_get parameters: - name: region in: query required: false schema: anyOf: - type: string - type: 'null' description: 'region preset: morocco, spain, london, newyork, paris, tokyo, dubai, europe, usa, asia, ...' title: Region description: 'region preset: morocco, spain, london, newyork, paris, tokyo, dubai, europe, usa, asia, ...' - name: callsign in: query required: false schema: anyOf: - type: string - type: 'null' description: filter by flight callsign, e.g. BAW123 title: Callsign description: filter by flight callsign, e.g. BAW123 - name: limit in: query required: false schema: type: integer maximum: 200 default: 50 title: Limit - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /weather: get: summary: Weather description: 'Current weather anywhere — by city name (geocoded) or lat/lon. Temperature, feels-like, wind, humidity, precipitation & conditions, live from Open-Meteo. (Requires API key.)' operationId: weather_weather_get parameters: - name: city in: query required: false schema: anyOf: - type: string - type: 'null' description: city name, e.g. London, Tokyo, New York title: City description: city name, e.g. London, Tokyo, New York - name: lat in: query required: false schema: anyOf: - type: number - type: 'null' description: latitude (alternative to city) title: Lat description: latitude (alternative to city) - name: lon in: query required: false schema: anyOf: - type: number - type: 'null' description: longitude (alternative to city) title: Lon description: longitude (alternative to city) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /forecast: get: summary: Forecast description: Multi-day weather forecast (up to 16 days) by city or lat/lon. (Requires API key.) operationId: forecast_forecast_get parameters: - name: city in: query required: false schema: anyOf: - type: string - type: 'null' description: city name title: City description: city name - name: lat in: query required: false schema: anyOf: - type: number - type: 'null' title: Lat - name: lon in: query required: false schema: anyOf: - type: number - type: 'null' title: Lon - name: days in: query required: false schema: type: integer maximum: 16 minimum: 1 default: 7 title: Days - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /air-quality: get: summary: Air Quality description: Current air quality (PM2.5/PM10, US & European AQI) by city or lat/lon. (Requires API key.) operationId: air_quality_air_quality_get parameters: - name: city in: query required: false schema: anyOf: - type: string - type: 'null' description: city name title: City description: city name - name: lat in: query required: false schema: anyOf: - type: number - type: 'null' title: Lat - name: lon in: query required: false schema: anyOf: - type: number - type: 'null' title: Lon - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /advisories/check: get: summary: Advisories Check description: 'Is this exact package@version vulnerable? FULL historical lookup across the entire OSV.dev corpus (Google) — returns every matching advisory + the versions that fix it. For Maven, pass the full ''group:artifact'' coordinate; a bare artifact name returns a hint, not a misleading ''not vulnerable''. (Requires API key.)' operationId: advisories_check_advisories_check_get parameters: - name: package in: query required: true schema: type: string description: package name, e.g. lodash, requests. Maven needs the full 'group:artifact' coordinate, e.g. org.apache.logging.log4j:log4j-core title: Package description: package name, e.g. lodash, requests. Maven needs the full 'group:artifact' coordinate, e.g. org.apache.logging.log4j:log4j-core - name: version in: query required: false schema: anyOf: - type: string - type: 'null' description: exact version, e.g. 4.17.10 title: Version description: exact version, e.g. 4.17.10 - name: ecosystem in: query required: false schema: anyOf: - type: string - type: 'null' description: npm | pip | maven | go | rubygems | nuget | cargo | composer title: Ecosystem description: npm | pip | maven | go | rubygems | nuget | cargo | composer - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /package-health: get: tags: - security summary: Package Health Ep description: 'Package health & security posture from deps.dev (Google Open Source Insights): latest version, license, known-advisory count, the OpenSSF Scorecard (0-10 + weakest checks) and popularity. The ''should I depend on this?'' check — pairs with /advisories/check and /versions. (Requires API key.)' operationId: package_health_ep_package_health_get parameters: - name: package in: query required: true schema: type: string description: package name, e.g. lodash, requests, django title: Package description: package name, e.g. lodash, requests, django - name: ecosystem in: query required: false schema: type: string description: npm | pypi | go | maven | cargo | nuget | rubygems default: npm title: Ecosystem description: npm | pypi | go | maven | cargo | nuget | rubygems - name: version in: query required: false schema: anyOf: - type: string - type: 'null' description: exact version (optional; defaults to latest) title: Version description: exact version (optional; defaults to latest) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /github-releases: get: tags: - dev summary: Github Releases Ep description: 'Latest GitHub releases for a repo (version, date, author, link) via the public atom feed — keyless source, no rate limit. (Requires API key on REST; the MCP tool is keyless.)' operationId: github_releases_ep_github_releases_get parameters: - name: repo in: query required: true schema: type: string description: owner/name, e.g. openai/openai-python title: Repo description: owner/name, e.g. openai/openai-python - name: limit in: query required: false schema: type: integer description: max releases (1-25) default: 5 title: Limit description: max releases (1-25) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /hacker-news: get: tags: - dev summary: Hacker News Ep description: Live Hacker News stories — the tech/AI attention layer. Optional case-insensitive title filter. (Requires API key.) operationId: hacker_news_ep_hacker_news_get parameters: - name: query in: query required: false schema: type: string default: '' title: Query - name: kind in: query required: false schema: type: string description: top | new | best default: top title: Kind description: top | new | best - name: limit in: query required: false schema: type: integer description: max stories (1-30) default: 10 title: Limit description: max stories (1-30) - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /dns: get: tags: - dev summary: Dns Ep description: Live DNS records for a domain via Cloudflare DNS-over-HTTPS. (Requires API key.) operationId: dns_ep_dns_get parameters: - name: name in: query required: true schema: type: string description: domain, e.g. example.com title: Name description: domain, e.g. example.com - name: type in: query required: false schema: type: string description: A | AAAA | MX | TXT | NS | CNAME | SOA | CAA default: A title: Type description: A | AAAA | MX | TXT | NS | CNAME | SOA | CAA - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/me: get: tags: - agent summary: V1 Me description: 'Your key at a glance — plan, calls used today, daily quota and remaining. The per-user usage view (the keyless MCP endpoint is unmetered fair-use).' operationId: v1_me_v1_me_get parameters: - name: x-api-key in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Api-Key - name: x-rapidapi-proxy-secret in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-Proxy-Secret - name: x-rapidapi-user in: header required: false schema: anyOf: - type: string - type: 'null' title: X-Rapidapi-User responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /billing/checkout: post: summary: Checkout description: Start a Stripe Checkout for a paid plan. Returns a payment URL. operationId: checkout_billing_checkout_post parameters: - name: api_key in: query required: true schema: type: string description: the key you want to upgrade title: Api Key description: the key you want to upgrade - name: tier in: query required: false schema: type: string description: pro ($19/mo), ultra ($59/mo), mega ($199/mo) or notary ($49/mo) default: pro title: Tier description: pro ($19/mo), ultra ($59/mo), mega ($199/mo) or notary ($49/mo) - name: interval in: query required: false schema: type: string description: '''month'' (default) or ''annual'' — annual prepay is 2 months free ($190/$590/$1,990/$490 per year)' default: month title: Interval description: '''month'' (default) or ''annual'' — annual prepay is 2 months free ($190/$590/$1,990/$490 per year)' responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /billing/success: get: summary: Billing Success operationId: billing_success_billing_success_get responses: '200': description: Successful Response content: application/json: schema: {} /billing/webhook: post: summary: Billing Webhook description: Stripe calls this to confirm payments. Upgrades/downgrades the key. operationId: billing_webhook_billing_webhook_post parameters: - name: stripe-signature in: header required: false schema: anyOf: - type: string - type: 'null' title: Stripe-Signature responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: Body_signup_signup_post: properties: email: anyOf: - type: string - type: 'null' title: Email description: optional, for receipts type: object title: Body_signup_signup_post HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError