{"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"},"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\n(app/open_meteo.py: CC-BY 4.0, attribution, freshness, cross-source concordance) plus a\nprovider-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\n(app/open_meteo.py) plus a provider-identity notice. Prefer weather_forecast via POST /v1/batch\nor 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\nofficial registry: how many servers exist, how many are remote, and how many are keyless. One\nEd25519-signed envelope you can verify against /.well-known/keys; a primary-source figure, not\na 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\nfirst. 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\",\n\"sanctions screening\", \"satellite positions\") and get a ranked, Ed25519-signed list of\ncandidate capabilities: Dynamic Feed's own tools with MEASURED 24h uptime/latency and a\nkeyless call recipe, plus matching external MCP servers from the official registry index,\nhonestly marked registry-reported and unmeasured. Advisory discovery with an explicit\nvantage 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\ndirectory at request time so it never drifts: every profile's $id, title and active mint\nendpoint when one exists. Deprecated/quarantined schemas remain visible as history, not as\nexecutable capabilities. Schema conformance and signature mathematics are separate from\nlifecycle 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\nverification block. Cardinal rule: signed != verified. An Ed25519 signature proves Dynamic Feed\nreported this exact value at this time, unaltered (integrity); 'verified' is reserved for facts\nindependently corroborated by 2+ sources AND still fresh. confidence is a transparent composite\nof the exposed signals, never decorative; a single-source reading is honestly verified:false.\nKeyless, read-only. GET /v1/facts?tool=current_weather&city=Sydney , or\nPOST {\"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\nverification block. Cardinal rule: signed != verified. An Ed25519 signature proves Dynamic Feed\nreported this exact value at this time, unaltered (integrity); 'verified' is reserved for facts\nindependently corroborated by 2+ sources AND still fresh. confidence is a transparent composite\nof the exposed signals, never decorative; a single-source reading is honestly verified:false.\nKeyless, read-only. GET /v1/facts?tool=current_weather&city=Sydney , or\nPOST {\"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\nquestion, get ONE Ed25519-signed answer object carrying the complete evidence chain: the exact\ncalls made, the exact source readings (fact/v1), per-premise verdicts computed by the published\ndeterministic rule answer-eval/1, and a confidence whose formula ships inside the payload\n(answer-conf/1) so anyone can recompute it. No model in the loop: unroutable input gets a\nSIGNED refusal that states exactly what IS covered. Signed proves integrity, not truth;\neverything 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\nquestion, get ONE Ed25519-signed answer object carrying the complete evidence chain: the exact\ncalls made, the exact source readings (fact/v1), per-premise verdicts computed by the published\ndeterministic rule answer-eval/1, and a confidence whose formula ships inside the payload\n(answer-conf/1) so anyone can recompute it. No model in the loop: unroutable input gets a\nSIGNED refusal that states exactly what IS covered. Signed proves integrity, not truth;\neverything 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\nsifting 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.\n\n• No `tool` → the set of tools captured + a count.\n• `tool=<name>` → that tool's captured date partitions, earliest/latest, and day count.\n\nThis is the availability index over the un-backfillable history (the permanence moat): it tells an\nagent which days are on record for a tool. Row-level point-in-time values (\"what was the value at\ntime 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\n(today / 7d / 30d / all-time) and the distinct agent client types seen (Claude, ChatGPT,\nCursor, LangChain, MCP clients, ...). Counts only — no IPs, no identities. Powers the public\n'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\nhomepage 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.\nBody: {\"calls\":[{\"tool\":\"current_weather\",\"args\":{\"city\":\"London\"}}, {\"tool\":\"earthquakes\",\"args\":{}}]}.\nReturns {\"results\":[{\"tool\",\"ok\",\"data\"|\"error\"}, ...]} in the same order. Tool names are the keyless\nMCP tools; POST with no `calls` returns the available list. Each call has its own 20s deadline, so a\nslow upstream degrades that one item rather than blocking the batch.\n\nAdd \"facts\": true to the body to get each result as a canonical, reliability-graded fact instead of\nraw data: {\"tool\",\"ok\",\"fact\":{value, provenance, verification, reliability{confidence,basis,sources,\nverified,vantage,conflict}}}. The whole response is Ed25519-signed (verify against /.well-known/keys),\nso 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\nlive tools. An agent pays once, gets one Ed25519-signed datapoint. No signup, no human. Body:\n{\"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\nprobes with GET (instead of a 'Method Not Allowed' dead end) still learns the price, the asset, and that\nit must POST with an X-PAYMENT header + {\"args\":{...}} body. NO payment is taken on GET; settlement only\never 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\nFeed's append-only archive. Body {\"tool\":\"current_weather\",\"t\":\"2026-06-10T14:30:00Z\"} (or ?tool=&t=)\n-> the archived observation for `tool` nearest at-or-before `t`, replayed VERBATIM, Ed25519-signed\n(verify against GET /.well-known/keys). The keyless paid channel to the SAME engine as the key-gated\nGET /v1/asof — for agent backtesting, audit trails and 'what did we know when we decided' disputes.\nNo signup, no human; discoverable via the x402 bazaar. Honest about coverage: a time the archive\ndidn'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\n(HTTP 402): an agent gets a price, pays from its wallet, re-calls with the X-PAYMENT header, and is\nserved — no human, no signup. Up to 100 signed tool calls per request (free /v1/batch is fair-use,\ncapped at 20). Dynamic Feed charges for its OWN service; a third-party facilitator settles the payment\n— 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'\nan agent or x402 facilitator shops in one call: every paid endpoint, its price (live from\nX402_PRICE_ATOMIC), input/output schema, the recipient wallet (when connected), and the facilitator.\nBoundary: 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.\nBody: {\"claims\":[\"The latest Python is 3.11\",\"Node.js is on 18\"]} or {\"text\":\"<an LLM answer>\"}.\nReturns {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\nsend; get back a verdict of \"pass\" or \"revise\" plus the exact corrections, so you can fix it BEFORE\nthe user sees it. Keyless. Wrap it around any LLM response pipeline.\nBody: {\"answer\":\"<the draft answer text>\"} or {\"claims\":[\"...\",\"...\"]}.\nReturns {verdict:\"pass\"|\"revise\", checked, issues:[{claim, subject, severity, correction, source}],\nconfirmed, unverifiable, guidance}. Only claims that CONTRADICT live data trigger \"revise\"; opinions\nand facts no live feed can cover pass through untouched. Verifies prices, software versions, market\nopen/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,\nofficial URL, licence, whether commercial use + redistribution is permitted, update cadence, and the\ntools it backs. Keyless. Each datapoint is provenance-stamped (source, licence, timestamp) so you can\ncite 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\":\"...\"}\n(POST) — a tool name (earthquakes), a source (USGS), or a topic. Returns the upstream source(s),\nlicence, official URL, update cadence and the full custody trail (origin -> ingest -> normalize ->\nserve, 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\":\"...\"}\n(POST) — a tool name (earthquakes), a source (USGS), or a topic. Returns the upstream source(s),\nlicence, official URL, update cadence and the full custody trail (origin -> ingest -> normalize ->\nserve, 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\nday's stored snapshot (the cross-domain world_pulse digest); no date returns today's, captured on\nread. Honest about coverage: a date before the earliest snapshot returns the available range, never\na 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\nfor `tool` nearest at-or-before time `t`, replayed VERBATIM from Dynamic Feed's append-only archive\n(capturing every served datapoint since 2026-06-07) — the value as served then, never a re-fetch or\nreconstruction. The response carries honest metadata (`archived_at`, `distance_seconds` from your\nrequested instant, the exact archive object, where coverage begins) and is Ed25519-signed (verify\nagainst GET /.well-known/keys) — built for agent backtesting, audit trails and \"what did we know\nwhen we decided\" disputes. Honest about coverage: a time the archive didn't capture returns a clear\nmiss with the nearest captured day, never a fabricated past. Paid plans (Pro and up); auth via the\nX-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 &\nbatched via RFC 3161): a durable, tamper-evident record of what Dynamic Feed reported. Anchors\non 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\nreturns each one's CURRENT value in a single call (your whole dashboard at once). Per-user, keyed by\nyour 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\none item; body {\"items\":[...]} replaces the whole list (max 25). Each item's `tool` must be a real\nDynamic 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\n/v1/stream?tool=<tool>&args=<json>&interval=<sec>&count=<n> and receive the tool's current value every\n`interval` seconds as a `value` event, until `count` updates or you disconnect. Keyless. Bounded for\nfair 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:\n{\"url\":\"https://you.example/hook\",\"tool\":\"exploited_vulnerabilities\",\"args\":{}}. The URL is validated\nSSRF-safe (public http/https only). Returns a one-time `secret` — every delivery is HMAC-SHA256 signed\nwith 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\nthe HMAC validates. Body: {\"id\": <subscription 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\ncopy-paste example. The fastest way for a developer (or an agent) to discover the whole surface.\nKeyless 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\nfacts behind it, for a robot (ground|humanoid|aerial|marine|orbital) at a location. NEVER blocks: the\nfeeds fan out under a hard deadline and any laggard is dropped with the snapshot flagged `degraded`\n(fail-safe → the verdict can never be `go` when degraded, it floors to `caution`). Keyless in v1.\n\nBody: {\"robot\":{\"id\",\"class\"},\"location\":{\"lat\",\"lon\",\"alt_m\"},\"radius_km\"?,\"domains\"?,\n\"max_staleness_s\"?,\"limits\"?,\"deadline_ms\"?,\"require_signed\"?}. Every response is signed with Ed25519\n(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\n{\"location\":{\"lat\",\"lon\",\"alt_m\"?},\"radius_km\"?}. Returns a go / caution / no-go take-off verdict\nfused from wind & weather, air quality, space weather (GPS/comms integrity) and nearby hazards ·\nEd25519-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\nclass=ground. POST {\"location\":{\"lat\",\"lon\"},\"radius_km\"?}. Returns a go / caution / no-go verdict\nfused from weather, air quality and nearby earthquakes/hazards along the route · signed, never hangs.\nKeyless.","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\nworking AMONG PEOPLE). POST {\"location\":{\"lat\",\"lon\"},\"radius_km\"?}. Returns a go / caution / no-go\nverdict fused from wind (topple risk, high centre of mass), precipitation (slip/footing), temperature\n(ice underfoot + actuator/battery envelope), air quality (tighter, people nearby) and nearby\nearthquakes · Ed25519-signed, hard-deadline (never hangs; degraded floors to caution).\nADVISORY EVIDENCE ONLY: proof of what was true at a time, NOT a safety certification and NOT a\nguarantee 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\n{\"location\":{\"lat\",\"lon\"},\"radius_km\"?}. Returns a go / caution / no-go verdict fused from live\nsignificant WAVE HEIGHT (the primary driver), wind, a heavy-precipitation storm proxy, geomagnetic\nactivity (GPS/comms) and nearby earthquakes (tsunami) · Ed25519-signed, hard-deadline (never hangs;\ndegraded floors to caution). Inland points simply omit the sea-state factor. ADVISORY EVIDENCE only:\nnot a safety certification and not a claim it is safe to sail; the vessel's own stack owns every\naction. 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\nevidence of what an AI was told (or asserted), and when. Body: {\"data\": <any JSON>} or {\"claim\":\"...\"}.\nReturns the receipt + a detached signature (verify against GET /.well-known/keys); anchor its hash to\nRFC 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.\n\n``X-API-Key`` is optional so the existing keyless signing behaviour remains available. When a\nkey is supplied it is always validated: portal ``fx_live_`` keys use the isolated Fluxdyne\nruntime database boundary, while legacy keys keep their existing validation and metering path.\nA signature establishes integrity and issuer identity; it does not establish that submitted\ncontent 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.\nThe operational-integrity primitive for the agent economy: prove, after the fact, the inputs behind\nan agent's action. Body: {\"agent\": \"...\", \"action\": \"...\", \"inputs\": <any JSON the agent acted on>},\nplus optional \"model\", \"decision\", \"context\". Returns an agent-receipt/v1 with a detached Ed25519\nsignature (verify against GET /.well-known/keys: drop the `signature` field, canonicalize\njson-sorted-compact). Anchor the hash via RFC 3161 via POST /v1/anchor. Keyless. Advisory evidence and\na neutral witness: it proves what the agent was given and did, never that the decision was correct,\nand 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,\nEd25519-signed notarization: proof these exact bytes existed at this moment, independently verifiable\nforever. Two modes — send the data ({\"payload\": <any JSON>}), or keep it private and send only its\nhash ({\"payload_sha256\": \"<64-hex>\"}). Optional \"subject\" names the publisher; \"echo\": false omits\nthe payload from the record (hash retained). This attests that Dynamic Feed WITNESSED these bytes\n(or this hash) at witnessed_at — not that the content is true. Anchor via POST /v1/anchor for\nproof-of-when independent of us. Auth: X-API-Key (free key at POST /signup). 'Let's Encrypt for\ndata 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\nthat decide them, flags where those readings are unverifiable today, and attaches a LIVE signed sample\nobservation for each, so an organisation can see where its decisions rely on data it cannot independently\ncheck. Fully automated, no human in the loop. Ed25519-signed; verify offline at /.well-known/keys.\nAdvisory 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\n(detector, lat/lon, time) with Dynamic Feed's INDEPENDENT context captured at that location the moment\nit's requested — fire-weather, near-term forecast, air quality (smoke), and tracked EONET wildfire\nevents — each datapoint carrying its source, licence and age. The whole record is Ed25519-signed so any\nparty can verify it OFFLINE against /.well-known/keys, WITHOUT trusting the detector or Dynamic Feed.\nAdvisory evidence + audit layer: it does NOT make, certify, or sit in the safety-critical path of the\ndetection — it makes the surrounding context provable later (an insurer claim, a liability review, an\nSLA). 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\nreceipts. Body: {\"name\": \"...\", \"location\": {\"lat\": .., \"lon\": ..}, \"quantities\": [\"wind_kmh\", ...]}.\nReturns a station_id + provenance. Dynamic Feed witnesses what your station reports; it does not\nmeasure the value. Your key is stored only as a non-reversible hash. Auth: X-API-Key (free key at\nPOST /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\nwords, that the value is self-reported by your station and only WITNESSED (not measured) by\nDynamic Feed. Body: {\"station_id\": \"stn_...\", \"quantity\": \"wind_kmh\", \"value\": 12.4, \"unit\": \"km/h\",\n\"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\nstation-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\nreceipt of exactly what that URL returned to us at this moment. Body:\n{\"url\": \"https://...\", \"method\": \"GET\"|\"POST\"|..., \"headers\": {...}, \"body\": \"...\", \"echo\": false, \"subject\": \"...\"}.\nWe fetch server-side under an SSRF guard (only public http/https targets; private and reserved\naddresses blocked; redirects not followed), redact your request credentials from the record, and\nsign a proxy-witness/v1 envelope carrying the response status, content-type, size and SHA-256 (the\nfull body only when echo:true and small; our archive is hash-first and never keeps the body).\nWitnesses what the URL returned to us, not that the content is true; never the money path.\nAuth: 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,\nEd25519-signed, transparency-logged, RFC 3161 timestampable receipt that this exact record EXISTED and\nis INTACT. Dynamic Feed sits BESIDE the transaction, NEVER in the value path: it only signs +\ntimestamps + anchors a HASH of a record you give it. It never accepts, holds, routes, converts or\ncustodies funds or anything of value. Send the record ({\"payload\": <json>}) or keep it private\n({\"content_hash\": \"<64-hex sha256>\"}). Optional: parties[] (opaque ids — NO PII), txn_ref (opaque),\nand a BYO-key agent co-signature (provider_pubkey + provider_sig, Ed25519 over the ascii-hex hash)\nso the receipt reads \"agent attested, Dynamic Feed witnessed\". Auth: a FREE key (POST /signup) —\nno KYC. PROVES: the record existed at issued_at, is intact (tamper-EVIDENT, verifiable via\n/verify.js against /.well-known/keys), and which agent key co-signed. Does NOT prove the\ntransaction was authorized, correct, lawful, completed, or that any value moved. Profile of\nreceipt/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\n/v1/witness returns (without writing to the log or needing a key): a neutral witness of a sample\nmachine-to-machine transaction record, with the recent-Bitcoin-block NOT-BEFORE time marker.\nVerify 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,\nRFC 3161 timestampable receipt that this inference record EXISTED and is INTACT. Privacy by\nCONSTRUCTION: the caller hashes the prompt + response LOCALLY and sends ONLY fixed-length sha256\nhashes + non-PII metadata. Body: {\"claimed_model\": \"<the model the PROVIDER's own response\nreported>\", \"prompt_sha256\": \"<64-hex>\", \"response_sha256\": \"<64-hex>\"} plus optional\nrequested_model, latency_ms, token_count, fallback_flag (the provider's OWN flag), provider,\nregion, and a BYO-key agent co-signature (provider_pubkey + provider_sig). Auth: a FREE key (POST\n/signup) — no KYC. PROVES: the record existed at issued_at and is intact (tamper-EVIDENT, verifiable\nvia /verify.js against /.well-known/keys). Does NOT independently verify which model actually ran,\ndoes NOT adjudicate that a 'downgrade' occurred, does NOT score quality — model_match is a literal\nstring 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\n/v1/inference-receipt returns: a neutral witness of a sample inference where the provider served a\nDIFFERENT model than requested and set its own fallback flag (illustrative, vendor-neutral). Verify\nit 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\nwas told and which model/policy decided, at the moment it acted. Ed25519-signed, transparency-logged,\nRFC 3161 timestampable. Privacy by CONSTRUCTION: the caller hashes the decision inputs (sensor/awareness\ncontext) LOCALLY and sends ONLY a fixed-length sha256 + non-PII labels. Body: {\"robot_class\":\n\"ground|aerial|marine|orbital|humanoid\", \"model_id\": \"<deciding model/policy>\", \"verdict\":\n\"go|caution|no-go\", \"inputs_sha256\": \"<64-hex>\"} plus optional decision, awareness_ref (a prior\n/v1/awareness snapshot_id), region (COARSE, no precise coords), latency_ms, and a BYO-key co-signature.\nAuth: a FREE key (POST /signup). ADVISORY EVIDENCE ONLY: proves the decision record existed and is\nintact (tamper-EVIDENT, verifiable via /verify.js); it does NOT certify the action was safe/correct/\nlawful, is NOT a safety system, and is NOT the actuator (the robot's own certified safety layer decides).\nProfile 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\naerial robot told CAUTION on degraded GPS, which held). Verify it in-browser via /verify.js, then flip\na 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-\nbenchmark era. The lab commits its test set as a salted sha256 BEFORE the run (`set_commitment`), so\nthe set stays PRIVATE while the run becomes un-retunable after the fact — solving the evaluator's\ndilemma of having to expose a private set to be trusted. Ed25519-signed, transparency-logged,\nRFC 3161 timestampable. Body: {\"eval_name\": \"<benchmark>\", \"model_id\": \"<model evaluated>\", \"metric\":\n\"pass@1\", \"score\": 0.58, \"set_commitment\": \"<64-hex>\"} plus optional n, run_sha256 (hash of the full\ntranscript), harness, and a BYO-key co-signature. Auth: a FREE key (POST /signup). ADVISORY EVIDENCE\nONLY — Dynamic Feed does NOT re-run or verify the score, and does NOT certify the benchmark is\nfair/representative/contamination-free; it witnesses the COMMITTED run so no party can retune it\nretroactively. 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\nset (the set stays private; only its commitment is signed). Verify it in-browser via /verify.js, then\nflip a byte and watch verification fail. Advisory evidence only — DF witnesses the committed run, it\ndoes 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\ncheckable. Each entry carries the signed archive-day/v1 document: a SHA-256 digest of that\nday's full archive listing, per-feed object counts, the previous day's digest (the chain),\nand the anchor status of a DLT-timestamp proof committing the digest to a public\ndistributed 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\nDLT-timestamp .ots bytes (verify: ots verify -d <digest_sha256> checkpoint-<day>.ots);\nkind=rfc3161 returns the RFC 3161 timestamp token DER from the independent TSA (verify:\nopenssl ts -reply -in checkpoint-<day>.tsr -text, then openssl ts -verify -digest\n<digest_sha256> -sha256 -in checkpoint-<day>.tsr). Offline runner for both witnesses:\nscripts/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:\naltering ANY past notarization breaks every entry_hash after it and contradicts the anchored\nhead. 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\nentry_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),\nnewest first. Payload hashes only (never payloads): private by construction, tamper-evident by\nrecipe. Page back with ?before=<idx>. 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\nrecently ANCHORED head (or the current head if no anchor covers it yet), plus the anchor record.\nRecompute each entry_hash and you have proven this entry is in the history the Bitcoin anchor\ncommits 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\nappend-only log — an O(log n) RFC-6962 Merkle audit path to a tree root we Ed25519-SIGN (the\ncheckpoint). Any party folds leaf -> root in their own browser and checks the checkpoint signature\nagainst /.well-known/keys, with NO trust in Dynamic Feed's word (only its published key). Keyless.\nRecipe: leaf = sha256(0x00 ‖ content_hash_bytes); node = sha256(0x01 ‖ left ‖ right); fold the\naudit_path (each {sibling, side}) up to root_sha256; confirm it equals the signed\ncheckpoint.root_sha256, then verify the checkpoint Ed25519 signature. In-browser via\n/verify.js verifyInclusion(). Complements GET /v1/notary/log/{idx}/proof (the O(n) chain replay):\nthe 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,\nnotarizing every CHANGE into the public transparency log automatically: a standing, tamper-evident\nhistory of what your feed published, when. Body: {\"url\": \"https://...\", \"subject\": \"Your Co\",\n\"interval_minutes\": 180 (min 60)}. Beta: 3 active feeds per key. The first fetch happens\nimmediately 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\nindex, 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\ntraining cutoff. Ask a model these questions WITHOUT tools and grade against the answers measured\nfrom authoritative sources at call time: every frozen model fails; a grounded agent passes. Each\nitem carries its grading rule, source and measured_at; the whole set is Ed25519-signed so a\npublished score is verifiable evidence, not a claim. Regenerate per run — answers are\ntime-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\nfirst. Each snapshot is the items array exactly as measured that day, so diffing consecutive\nsnapshots shows how fast reality moves away from any fixed training cutoff: rates shift,\nreleases ship, CVEs land. History starts at first_snapshot_at and grows one snapshot per day.\nHuman-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\nEONET: wildfires/volcanoes/floods/storms), major disasters (GDACS) and, in Australia, live satellite\nbushfire hotspots (Geoscience Australia) within radius_km, nearest first. Ed25519-signed (verify\nagainst GET /.well-known/keys). The 'what's around me' ping for any machine that moves — robots,\ndrones, in-car AI assistants, fleet telematics — complements the go/caution/no-go verdict from\n/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\nlive measurement and return a tamper-evident, Ed25519-signed MET / NOT-MET record. The dispute-proof\noracle a parametric-insurance payout can settle against. metric: wind_kmh | temperature_c |\nfeels_like_c | precipitation_mm. op: gt | gte | lt | lte. Verify against GET /.well-known/keys;\ntimestamp 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\nparametric payout settles against. Evaluates 'metric op threshold' at a location against the live official\nreading and returns an Ed25519-signed receipt carrying the four properties that end a parametric dispute:\n(1) a pinned + hashed methodology (nobody moves the goalposts after the event); (2) the exact re-fetchable\nsource_url + a raw_reading_hash anyone can reproduce (independent verifiability, not 'trust us');\n(3) a deterministic determination — triggered + payout_factor + rationale, re-computable by any party;\n(4) the signature (timestamp via POST /v1/anchor (RFC 3161) for proof of when). Neutral calculation-agent-of-\nrecord: attests what the official source reported and what the pinned methodology implies — NOT ground-truth\nphysical loss. v0.1 metrics: wind_kmh | temperature_c | feels_like_c | precipitation_mm (Open-Meteo).\nop: 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\nand reproducible: the settlement-grade reading a parametric trigger evaluates against. Not 'an event\nhappened' but 'the value at this lat/lon, from the region's authoritative source'. v1 peril: flood —\nrouted by coordinate to the nearest official river gauge: AU -> BoM Water Data Online (water-course level\nm; CC BY 4.0), US -> USGS NWIS (gage height ft / discharge ft3/s). Point-resolved, no interpolation.\ndrought, wildfire and earthquake (ShakeMap) intensity are rolling in. Verify the Ed25519 signature against\nGET /.well-known/keys; re-fetch source_url to reproduce raw_reading_hash (see hash_method). SCOPE: attests\nthe 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\nAustralia Hotspots — keyless, CC BY 4.0. lat & lon (+ radius_km) for hotspots near a point, a state code\n(NSW/QLD/VIC/SA/WA/TAS/NT/ACT), or neither for recent Australia-wide. Ed25519-signed; verify against\nGET /.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\ntoken proving the record existed at time T, independently verifiable, even against us. Body:\n{\"snapshot\": {...}} (its canonical SHA-256 is timestamped) or {\"digest_hex\": \"<64-hex sha256>\"}.\nHashes 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\nlegacy OpenTimestamps proof is folded into its block attestation. Body: {\"token_b64\": \"...\"}\n(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).\n\nThe real-time, filterable API + MCP endpoint remain the product; this is a\npublic 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\nnever prunes, so it cannot be backfilled by anyone. Built for quant / eval / research use. Free keys\nget 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\nDynamic 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\nseveral independent venues plus how tightly they agree (spread in basis points), the\nmin/max, and the per-venue breakdown. Tells an AI tool the real price AND whether to\ntrust 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,\ndatabases & OSes. Answers 'what's the latest X?' and 'is version Y still supported?'.\nEach 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\nversion, severity & CVSS. Filter by package/ecosystem/severity. Newest first. Pairs with\n/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\nvolatility, price range, and how the cross-exchange spread is trending (widening/narrowing).\nBranded 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\n(plus crypto 24/7 and forex 24/5). Tells an AI whether a price is live or a closed-market\nlast-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\nrates 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.\n(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\na 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\nCelesTrak TLE to the current instant: exact lat/lon, altitude, velocity, ground-footprint radius,\nthe 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\nNVIDIA H100, ESA Φsat-2 AI edge, D-Orbit in-orbit cloud), each enriched with live orbital data\nand 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/\ndensity/Bz, the storm driver) and the latest solar X-ray flux/flare. Affects satellite comms &\ndrag, 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 +\noutage signal (healthy/degraded/outage) — a sharp visibility drop = the network is losing global\nreachability. 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\nintegrity (the GPSJam method) — a Dynamic Feed-derived signal (from adsb.lol, CC0). Pass a region\npreset 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\nby 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\nmacro. (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\nflag, 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,\nsea/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\nlocation. 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,\ndroughts, volcanoes — with a Green/Orange/Red humanitarian-impact level + affected countries.\nThe '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\n(CSI 300, MSCI China, internet, tech, consumer...), CNY/HKD & cross FX, and 12 World Bank macro\nseries + 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,\nHormuz, Malacca, Taiwan...) via IMF PortWatch, the ~2,065-port global registry, and LIVE Baltic vessel\npositions (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\n(trending model, live prices, top exploited CVE, latest versions, a headline, fastest AI API)\nwith a plain-English summary. The 'pulse' every connecting model can read. (Requires API key on\nREST; 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 /\noutside_coverage) + the live value + source. The anti-hallucination check; covers prices, market hours,\nsoftware 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\nconversion 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,\npopularity, 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\nexploitation-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\nSystem — 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\nstatus, 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\ntagged with its list (US-OFAC | UK). A match means the party is sanctioned — legally binding the instant\nit's posted; models can't know recent designations. Confirm the full official entry before acting.\n(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\nvolcanoes at YELLOW/ORANGE/RED or ADVISORY/WATCH/WARNING; 'all' = every USGS-monitored volcano. Each\ncarries the ground alert level, aviation colour code and the official notice URL. SCOPE: US volcanoes\nonly — 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).\nSCOPE: 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\nNARA 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).\nNational 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):\nby state, USGS site number(s), or a curated set of major rivers. Rising gage = flood risk; unusually\nlow 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\nWorld Cup. Attention = daily Wikipedia article views by language edition, with 7-day momentum & peak;\nplus hosts, start/end dates and sport from Wikidata. Source: Wikimedia Pageviews + Wikidata (CC0) —\nthis 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).\n'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\nsource, 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\nsource). (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.\n(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).\nFilter 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,\nwind, 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\ncorpus (Google) — returns every matching advisory + the versions that fix it. For Maven, pass the\nfull 'group:artifact' coordinate; a bare artifact name returns a hint, not a misleading\n'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,\nlicense, known-advisory count, the OpenSSF Scorecard (0-10 + weakest checks) and popularity. The\n'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 —\nkeyless 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\n(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"}}}}