Verification,
as an endpoint.
Verify claims, ask questions with a consilium consensus, and check passages inline. REST for anything, JSON-RPC over MCP for any AI client.
REST endpoints.
/api/public/verifyRun a single factual claim through the consilium. Returns a verdict, confidence, one line summary, sources, and a shareable permalink.
curl -X POST https://fakts.rizzgroup.org/api/public/verify \
-H "Content-Type: application/json" \
-d '{
"text": "The Eiffel Tower is 330 meters tall.",
"mode": "fast"
}'{
"share_id": "8f2c1a4b",
"permalink": "/verify/8f2c1a4b",
"claim": "The Eiffel Tower is 330 meters tall.",
"consensus_verdict": "verified",
"confidence": 92,
"one_line_summary": "The tower measures 330 m to the tip including its antenna.",
"agreement": "8/9",
"models": [ /* per panelist verdicts, anonymized */ ],
"sources": ["https://..."],
"dissent": [],
"mode": "fast"
}/api/public/askBearer token requiredRoute a question through the panel and return a consensus answer with agreement level, per panelist responses, and sources.
curl -X POST https://fakts.rizzgroup.org/api/public/ask \
-H "Authorization: Bearer YOUR_FAKTS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "question": "Is intermittent fasting proven to extend lifespan?" }'{
"consensus": "Evidence in humans is inconclusive...",
"agreement": { "agree": 6, "total": 8 },
"disagreements": [
{ "provider": "panelist_03", "point": "Scope: rodent studies show consistent benefits." }
],
"answers": [
{ "provider": "panelist_01", "answer": "...", "confidence": 0.7 }
],
"sources": ["https://..."]
}/api/public/live-checkBearer token requiredFast passage scan for extensions and inline UIs. Uses only web grounded panelists for sub 10 second verdicts.
curl -X POST https://fakts.rizzgroup.org/api/public/live-check \
-H "Authorization: Bearer YOUR_FAKTS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "passage": "The GDP of France grew by 12% in 2023." }'{
"verdict": "false",
"confidence": 0.88,
"explanation": "Official statistics show growth of about 0.9% in 2023.",
"sources": ["https://..."],
"provider_votes": [
{ "provider": "panelist_01", "verdict": "false" }
]
}Speak MCP directly.
Everything an MCP client does over the wire. Useful for debugging, custom clients, or hosting a bridge.
POST https://fakts.rizzgroup.org/api/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": { "name": "my-client", "version": "0.1.0" }
}
}{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list"
}{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "fakts_verify",
"arguments": {
"claim": "The Eiffel Tower is 330 meters tall."
}
}
}The Accept header must include both application/json and text/event-stream or the server will reject with 406. Anonymous rate limits apply the same way as REST.
Anonymous by default.
No token required for verify or the MCP server. Rate limited by hashed IP.
Mint a personal token in your FAKTS account. Same token works for MCP, verify, ask, and live check. The secret is shown once.
Authorization: Bearer YOUR_FAKTS_TOKEN
Status codes.
400401429500502