Build with AskVerdict
TypeScript SDK, powerful CLI, and REST API. Integrate multi-agent debates into your app in minutes.
Quick Start
Up and running in minutes
Three ways to integrate — pick whatever fits your workflow.
TypeScript SDK
@askverdict/sdk
Fully typed client with auto-complete, streaming support, and Zod-validated responses. Drop into any Node.js or edge runtime.
import { AskVerdictClient } from "@askverdict/sdk"; const client = new AskVerdictClient({ apiKey: process.env.ASKVERDICT_API_KEY,}); const debate = await client.debates.create({ question: "Should we migrate to microservices?", mode: "balanced",}); const verdict = await debate.getVerdict();console.log(verdict.summary);CLI Tool
@askverdict/cli
Run debates from your terminal. Pipe results into scripts or integrate into CI pipelines — no boilerplate required.
$ npx @askverdict/cli debate \ "Should we migrate to microservices?" Initializing debate... [Agent 1] Arguing FOR... [Agent 2] Cross-examining... [Agent 1] Rebuttal: valid point, but... Verdict: Cautious yes — define boundaries first. Confidence: 72% | Brier Score: 0.18REST API
api.askverdict.ai
Language-agnostic REST endpoints. Works from any stack — Python, Ruby, Go, or plain curl. JSON in, JSON out.
curl -X POST https://api.askverdict.ai/v1/debates \ -H "Authorization: Bearer $ASKVERDICT_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "question": "Should we migrate to microservices?", "mode": "balanced", "models": ["gpt-4o", "claude-3-5-sonnet"] }'SDK Deep Dive
Built for production
Every primitive you need to ship a reliable AI feature — without the boilerplate.
TypeScript First
Type-Safe by Default
Every response is fully typed and Zod-validated at runtime. Your IDE auto-completes debate options, verdict fields, and streaming events — zero guesswork, zero silent failures.
Auto-generated types
Types are generated from the OpenAPI spec on every release — always in sync with the live API.
Runtime Zod validation
Every API response is validated at runtime. Bad data throws early, before it reaches your business logic.
Strict TypeScript
No `any` types in the SDK. The same strict config we use internally.
Real-Time
Streaming Support
Debates stream events over SSE as agents argue in real time. The SDK ships a React hook that wires the stream directly into your component state — connection, reconnection, and cleanup handled for you.
SSE streaming
Events: agent_start, argument, cross_exam, rebuttal, verdict. Enough to build a rich progress UI.
useDebateStream hook
Drop-in React hook. Handles reconnection on network interruption automatically.
Works everywhere
SSE endpoints work in browsers, Node.js, Bun, Deno, and all major edge runtimes.
Privacy
BYOK Integration
Pass your own OpenAI, Anthropic, or Gemini keys at request time. Keys live in memory only — never written to disk, never logged, never stored in our database.
Per-request keys
Pass provider keys in the client constructor or per-request. Rotate freely without touching the server.
Zero server storage
AskVerdict never writes your API keys to a database. Verifiable from open-source server code.
Multi-provider
OpenAI, Anthropic, Google Gemini, Mistral, and Groq — one interface, many backends.
REST API
Simple, predictable endpoints
Standard REST. JSON in, JSON out. No GraphQL, no magic, no surprises.
Command Line
@askverdict/cli
Debates from the terminal
Run one-off debates, test prompts, and automate workflows without writing any code. Pairs perfectly with shell scripts and CI pipelines.
Zero config
Run `npx @askverdict/cli debate` — no install required.
Scriptable output
JSON, Markdown, or plain text. Pipe into any downstream tool.
CI/CD ready
Exit codes, structured errors, and non-interactive mode for automation.
$ npx @askverdict/cli debate \ "Should we migrate to microservices?" Mode: balanced | Agents: 4 ████████████░░░░ 75% [Agent 1] Arguing FOR... [Agent 2] Cross-examining... ✓ Verdict: Cautious yes Confidence: 72% | Time: 48sGet Started
Start building
Free plan includes 10 debates per month. No credit card required.
Questions? Join the Discord community or open a GitHub issue