{"openapi":"3.1.0","info":{"title":"Voidly API","version":"2026-05","summary":"Censorship intelligence + agent payments + E2E messaging","description":"Voidly is a network-intelligence platform for AI agents.\n\nFree public endpoints under /data/* and /v1/* (CC BY 4.0).\nPaid endpoints under /v1/*-pro return HTTP 402 (x402) with a USDC quote on Base mainnet.\n\nFull Voidly Pay spec: https://voidly.ai/voidly-pay-openapi.json\nMCP server (83 tools): https://www.npmjs.com/package/@voidly/mcp-server\nAgent SDK: https://www.npmjs.com/package/@voidly/agent-sdk","contact":{"name":"Voidly","url":"https://voidly.ai","email":"info@voidly.ai"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://api.voidly.ai","description":"Production"}],"x-voidly-extensions":{"llms_txt":"https://voidly.ai/llms.txt","agent_card":"https://voidly.ai/.well-known/agent-card.json","x402_manifest":"https://api.voidly.ai/.well-known/x402","mcp_card":"https://api.voidly.ai/.well-known/mcp/server-card.json","knowledge_panel":"https://voidly.ai/.well-known/knowledge-panel.json","datasets":"https://voidly.ai/.well-known/dataset.json","ai_policy":"https://voidly.ai/.well-known/ai-policy.txt","full_pay_spec":"https://voidly.ai/voidly-pay-openapi.json"},"paths":{"/health":{"get":{"summary":"Service health","responses":{"200":{"description":"OK"}}}},"/data/censorship-index.json":{"get":{"summary":"Global censorship index — full dataset (CC BY 4.0)","responses":{"200":{"description":"JSON dataset"}}}},"/data/incidents":{"get":{"summary":"List censorship incidents","parameters":[{"name":"country","in":"query"},{"name":"limit","in":"query"}],"responses":{"200":{"description":"Incidents"}}}},"/data/incidents/{id}":{"get":{"summary":"Single incident with evidence"}},"/v1/forecast/{country}/7day":{"get":{"summary":"7-day shutdown current-regime risk signal (free tier; includes top_features_per_day SHAP attribution). NOT a shutdown-onset predictor — see /v1/forecast/onset-skill for honest onset metrics, and /v1/shutdown-risk/{country} for the KeepItOn-validated onset predictor (AUC 0.91 cross-country / 0.73 within-country)."}},"/v1/forecast/{country}/7day-shap":{"get":{"summary":"Per-day SHAP attribution for the 7-day forecast (lean payload)"}},"/v1/forecast/onset-skill":{"get":{"summary":"Honest onset-skill metrics for the legacy 7-day forecast: forward-temporal AUC 0.589, predict-yesterday baseline 0.957, transition-row (onset) AUC ~0.33. Pair with /v1/shutdown-risk/info for the onset-validated alternative."}},"/v1/shutdown-risk/{country}":{"get":{"summary":"KeepItOn-validated 7-day shutdown predictor (gate-promoted daily — current version reported at /v1/shutdown-risk/info). Full-panel AUC ~0.9, within-country median ~0.73. Real journalist-verified labels, leakage-free. Every response embeds its own honest validation."}},"/v1/shutdown-risk/info":{"get":{"summary":"Live shutdown_risk model metadata + honest validation (AUC, components, caveats). The model_version field is authoritative — the serving model is gate-promoted daily and can change."}},"/v1/shutdown-risk/leaderboard":{"get":{"summary":"All countries sorted by current 7-day shutdown probability."}},"/v1/shutdown-risk/accountability":{"get":{"summary":"Running record: archived predictions joined to actual KeepItOn outcomes. The model proves itself in the open."}},"/v1/shutdown-risk/alerts":{"get":{"summary":"JSON event log of country-days that crossed UP into watch or elevated."}},"/v1/shutdown-risk/feed.rss":{"get":{"summary":"RSS 2.0 feed of shutdown-risk band crossings — subscribe in any RSS reader to be notified the moment a country crosses elevated."}},"/v1/atlas/threats":{"get":{"summary":"Actively-exploited CVEs (CISA KEV) in the VPN/firewall/router/browser/messaging gear that censorship circumvention depends on, enriched with CVSS v3 severity (joined from NVD). Params: limit, vendor, ransomware=1, since=YYYY-MM-DD, min_severity=CRITICAL|HIGH|MEDIUM|LOW, sort=severity, all=1. Re-surfaced from CISA, links to NVD."}},"/v1/atlas/threats/feed.rss":{"get":{"summary":"RSS 2.0 of the circumvention-stack threat feed — subscribe to be alerted when a CVE in your VPN/router/browser is actively exploited."}},"/v1/atlas/ai-availability":{"get":{"summary":"Where is AI itself censored? The cross-country network-reachability matrix for major AI services (ChatGPT, Claude, Gemini, Perplexity, DeepSeek, …) computed from Voidly's OONI-grounded accessibility oracle. Returns per-service-per-country status (accessible/partial/blocked/unknown) + accessibilityScore, plus most-blocked-service and most-restrictive-country summaries. KV-cached 1h; ?refresh=1 to force. Network reachability only — not vendor geo-restrictions."}},"/v1/shutdown-risk/subscribe":{"post":{"summary":"Anonymous webhook subscribe (no account). Body: { webhook_url, country_code?, event_types?, min_severity?, test_only? }. We POST a test ping to your URL before persisting; returns subscription_id + unsubscribe_url."}},"/v1/shutdown-risk/unsubscribe":{"get":{"summary":"Revoke an anonymous shutdown-risk webhook subscription. ?id=<sub_id>&token=<subscriber_id> or &webhook_url=..."}},"/v1/shutdown-risk/test-alert":{"post":{"summary":"Self-serve: fire one synthetic shutdown_risk band-crossing payload to your webhook so you can verify end-to-end push wiring without waiting for a real crossing. Body: { webhook_url } OR { id, token } [, band: watch|elevated ]. country_code=XX and test:true on the payload."}},"/v1/shutdown-risk/subscribers":{"get":{"summary":"Public reach counter: total enabled subscriptions wired to shutdown_risk event types, plus a separate count of anonymous (no-account) subscribers."}},"/v1/forecast/honest/{country}":{"get":{"summary":"Honest OONI-anomaly forecast (a DIFFERENT question than shutdown-risk — predicts OONI z-score spikes, not real shutdowns). AUC 0.82 on its own proxy."}},"/v1/forecast/honest/info":{"get":{"summary":"Honest anomaly forecast model metadata + caveats."}},"/v1/forecast-pro/{country}/30day":{"get":{"summary":"30-day forecast with SHAP attribution (paid, x402, $0.01 USDC)","responses":{"402":{"description":"Payment required — see body for x402 quote"}}}},"/v1/sentinel/current_risk/{country}":{"get":{"summary":"Current-day shutdown risk for a country"}},"/v1/sentinel/global_heatmap":{"get":{"summary":"Heatmap across all watched countries"}},"/v1/probe/stats":{"get":{"summary":"Voidly probe-network stats"}},"/v1/accessibility/check":{"get":{"summary":"Is X accessible in country Y?"}},"/v1/pay/manifest.json":{"get":{"summary":"Voidly Pay agent-discovery manifest"}},"/v1/pay/health":{"get":{"summary":"Voidly Pay health"}},"/v1/pay/agentic-economy":{"get":{"summary":"Live, citable corpus of AI-agent-to-AI-agent micropayments computed from the Voidly Pay ledger — settlement counts, value flows, network shape, and an honestly-disclosed concentration metric. The empirical data the agentic-economy thesis is missing."}},"/v1/pay/x402/resources":{"get":{"summary":"Canonical x402 Bazaar discovery catalog — every Voidly paid endpoint (+ third-party listings) in x402scan/Coinbase-Bazaar format, each with canonical EVM/USDC accepts[]. Computed live from the marketplace so it never goes stale. This is how x402-native agents discover what they can buy."}},"/verify-claim":{"post":{"summary":"Verify a censorship claim against the evidence corpus"}},"/v1/atlas/fact-check":{"post":{"summary":"Auto-fact-check a natural-language claim → verdict + evidence permalinks (free)"}},"/v1/atlas/fact-check/info":{"get":{"summary":"Auto-fact-check method, thresholds, supported aliases"}},"/v1/atlas/probe-integrity":{"get":{"summary":"Probe-node integrity scores — catch compromised/misconfigured probes vs consensus (advisory)"}},"/v1/atlas/probe-integrity/{node_id}":{"get":{"summary":"Per-probe-node integrity detail + consensus-disagreement samples"}},"/v1/atlas/concept-drift":{"get":{"summary":"Concept-drift detector — daily PSI/KS per feature + label drift for classifier v3.3 and forecast v1, with retrain verdict"}},"/v1/atlas/concept-drift/{model}":{"get":{"summary":"Per-model concept-drift report (classifier-v3.3 | forecast-v1)"}},"/mcp":{"post":{"summary":"MCP Streamable HTTP endpoint (JSON-RPC, 83 tools)"}},"/v1/agent/register":{"post":{"summary":"Register a new agent identity (Ed25519)"}},"/v1/agent/send/encrypted":{"post":{"summary":"E2E encrypted send (X3DH + Double Ratchet)"}},"/v1/agent/receive/raw":{"get":{"summary":"Fetch encrypted inbox (client-side decryption)"}},"/v1/agent/receive/sse":{"get":{"summary":"Server-Sent Events for real-time message delivery"}},"/.well-known/agent-card.json":{"get":{"summary":"A2A v0.3.0 Agent Card"}},"/.well-known/x402":{"get":{"summary":"x402 payment-protocol manifest"}}},"_voidly_pay":{"claim_did":"https://voidly.ai/pay/claim","for_builders":"https://voidly.ai/pay/for-builders","marketplace":"https://api.voidly.ai/v1/pay/marketplace","live_demo":"https://huggingface.co/spaces/emperor-mew/voidly-pay","universal_proxy":{"url":"https://api.voidly.ai/v1/pay/proxy","example":"https://api.voidly.ai/v1/pay/proxy?u=<https-url>&to=did:voidly:<your-did>&price=0.01","page":"https://voidly.ai/pay/proxy","note":"Paywall any public HTTPS URL with one query param. No SDK install required."},"install":{"typescript":"npm install @voidly/pay","python":"pip install voidly-pay","langchain":"pip install voidly-pay-langchain","vercel_ai":"npm install @voidly/pay-vercel-ai","mcp":"npx @voidly/pay-mcp","cli":"npm install -g @voidly/pay-cli"},"note":"Voidly Pay is the open agent-to-agent payment rail. Claim a DID + 10 starter credits in 60s, or paywall any URL via the universal proxy with one query param."}}