The five-minute path
Get a Kivo API key
Use a scoped API key issued for your organization and keep the one-time secret in server-side configuration.
Choose deployment mode
Use Enterprise Worker Deployment for sensitive traces and Kivo API Deployment for approved hosted packets.
Submit a hosted packet
For Kivo API Deployment, send synthetic, sanitized, or explicitly approved packets through the REST API.
Poll completion
Use the returned polling URL until extraction, verification, and claim report compilation finish.
Read the claim report
Inspect unsupported claims, citation issues, evidence notes, follow-up questions, and request IDs.
Watch usage
Check the usage endpoint or billing screen for remaining monthly review runs.
Keep humans in control
Use support statuses and gate verdicts as workflow signals, not final high-stakes decisions.
Two deployment paths
Enterprise Worker Deployment
Create a metadata-only run, run the Kivo worker in your environment, store detailed reports in your storage, and send Kivo verdict/count/hash metadata.
Kivo API Deployment
Submit approved packets to `/v1/review-runs`, poll completion, and fetch hosted claims, verification results, and claim reports.
Credential split
API keys create/read hosted resources. Worker credentials are scoped to one private-worker review run and can be rotated or revoked.
What Kivo returns
Kivo returns a queued review-run record first. When processing completes, the run includes extracted claim counts and a source-bounded use status. Fetch the claims, verification results, and claim report for reviewer-facing findings.
{
"review_run": {
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"project_id": "9fd60878-b3a3-45ff-9ccf-7504c47a2c21",
"status": "queued",
"intended_use": "customer_facing",
"strictness": "standard",
"source_count": 1,
"claim_count": 0,
"unsupported_claim_count": 0,
"safe_use_status": null,
"gate_verdict": null,
"created_at": "2026-04-27T16:20:18.000Z",
"completed_at": null,
"capture_method": "api",
"question": null,
"metadata": {
"workflow": "support_answer",
"environment": "quickstart"
}
},
"queued": {
"review_run_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"status": "queued",
"polling_url": "https://api.trykivo.co/v1/review-runs/run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"recommended_poll_interval_seconds": 2
},
"polling_url": "https://api.trykivo.co/v1/review-runs/run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"request_id": "req_01hw87ffx88w7m4a4qn1v2z7g0"
}{
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"project_id": "9fd60878-b3a3-45ff-9ccf-7504c47a2c21",
"status": "completed",
"intended_use": "customer_facing",
"strictness": "standard",
"source_count": 1,
"claim_count": 1,
"unsupported_claim_count": 1,
"safe_use_status": "needs_repair",
"gate_verdict": {
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_gate_verdict",
"review_run_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"verdict": "needs_repair",
"safe_use_status": "needs_repair",
"reasons": [
{
"code": "unsupported",
"message": "One or more claims are not supported by the supplied sources.",
"claim_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1"
}
],
"strictness": "standard",
"mode": "advisory",
"metadata": {
"intended_use": "customer_facing",
"policy_version": "gate-policy.2026-04-27.v1"
},
"created_at": "2026-04-27T16:20:24.000Z"
},
"created_at": "2026-04-27T16:20:18.000Z",
"completed_at": "2026-04-27T16:20:24.000Z",
"capture_method": "api",
"question": null,
"metadata": {
"workflow": "support_answer",
"environment": "quickstart"
},
"error_code": null,
"error_message": null,
"ai_output": "Customers can request refunds for any order within 60 days, including international orders.",
"sources": [
{
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_source_1",
"title": "Refund policy",
"uri": null,
"citation_label": "source 1",
"media_type": "text/plain",
"content_sha256": "9f37b0f8e5f4b8a0a7c8948ecdf7d927650f5b5a46c44dd1de44f771d5df3a41"
}
],
"source_spans": [
{
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_span_1",
"source_document_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_source_1",
"quote": "Customers may request a refund within 30 days of purchase.",
"start_offset": 0,
"end_offset": 59,
"metadata": {
"source_title": "Refund policy",
"citation_label": "source 1"
},
"created_at": "2026-04-27T16:20:24.000Z"
}
],
"verification_results": [
{
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_verification_1",
"atomic_claim_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1",
"support_status": "unsupported",
"primary_source_span": null,
"verifier_name": "bravo-deterministic-source-verifier",
"verifier_version": "source-verification.2026-04-27.v1",
"verifier_provider": "deterministic",
"verifier_model": "source-verification-rules-v1",
"confidence": 0.74,
"rationale": "The supplied source states a 30-day refund window, not 60 days.",
"metadata": {
"citation_issue": "no_citation_required",
"candidate_count": 1
},
"created_at": "2026-04-27T16:20:24.000Z"
}
],
"claim_report": {
"id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_report",
"review_run_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f",
"safe_use_status": "needs_repair",
"title": "Claim report",
"summary": "This review found 1 unsupported claim(s) and 0 citation issue(s) in the captured output.",
"unsupported_claims": [
{
"claim_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1",
"claim_text": "Customers can request refunds for any order within 60 days",
"support_status": "unsupported",
"output_start_offset": 0,
"output_end_offset": 60,
"source_span_id": null,
"source_quote": null,
"reviewer_follow_up": "Should the output remove or revise claim `run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1`?"
}
],
"citation_issues": [],
"evidence_notes": [],
"follow_ups": [
{
"claim_id": "run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1",
"question": "Should the output remove or revise claim `run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1`?"
},
{
"claim_id": null,
"question": "Is the intended use still correct for this output?"
}
],
"markdown": "# Claim report\n\nUse status: Needs Repair\nUnsupported claims: 1\nCitation issues: 0\nSource coverage: 0/1 claims\n\n## Summary\nThis review found 1 unsupported claim(s) and 0 citation issue(s) in the captured output.\n\n## Unsupported claims\n- Claim `run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1`: The supplied sources do not support this claim: \"Customers can request refunds for any order within 60 days\"\n\n## Citation issues\n- No citation issues were found in the structured verification results.\n\n## Evidence notes\n- No partially supported claims were found in the structured verification results.\n\n## Follow-up questions\n- Should the output remove or revise claim `run_7f4f21e2-3d40-48a3-85f0-9f97e5f61b2f_claim_1`?\n- Is the intended use still correct for this output?\n",
"compiler_version": "claim-report.2026-04-27.v1",
"policy_version": "claim-report-policy.2026-04-27.v1",
"metadata": {
"source_coverage": {
"claims_with_primary_source": 0,
"total_claims": 1
}
},
"created_at": "2026-04-27T16:20:24.000Z",
"updated_at": "2026-04-27T16:20:24.000Z"
},
"request_id": "req_01hw87j6q7a27ez6p4dk4g0nsn"
}Docs map
Deployment
Enterprise Worker vs Kivo API deployment modes, event flow, and raw-field boundaries.
Quickstart
Copyable curl commands for a free first hosted review run.
Core concepts
Terminology for review runs, atomic claims, source spans, claim reports, and gate verdicts.
Authentication
API key headers, scopes, project scoping, rotation, and server-side handling.
Review runs
Lifecycle states, polling, claims, verification results, and markdown claim reports.
API reference
Launched endpoint surface with request, response, error, and rate-limit notes.
AI agents
Copy a Kivo integration prompt into Codex, Claude Code, Cursor, or your AI harness.
Webhooks
Current webhook availability and the polling path for review-run completion.
