Developers
Send cited source excerpts — optionally with a claim or AI answer as context. Caus returns a source-independence / echo grouping — which cited sources are independent, and which are the same story echoed. It is an evidence-structure read, not a truth judgment.
This is the underlying analysis behind Caus’s citation audit. Repeated-coverage grouping is the only check performed today: the API does not fact-check, verify claims, rate evidence strength, or discover new sources.
The response contains everything you need to generate a citation report — the groups, strategy, threshold, and counts that explain the result. It does not return accuracy validation; accuracy receipts require labeled datasets and are not published yet.
Endpoint
POST /api/citation-check
Public, no authentication. Runs the conservative TF-IDF / text-overlap echo grouping in TypeScript (no server engine), so it works anywhere. Reads only the request body — it never touches Caus datasets, receipts, thresholds, engine defaults, or human-review work.
Machine-readable contract: /openapi.json (OpenAPI 3.0, generated from the shared limits).
Validation status: the public API is a conservative TF-IDF / echo grouping. No citation-echo accuracy receipt is published yet — the current candidate status is 0 labeled echo pairs across 10 citation sets (candidate dataset, not human-reviewed; AI/model suggestions do not count as labels). Read the methodology for what a citation report does and does not show.
Request
POST /api/citation-check
Content-Type: application/json
{
"claim": "string (optional context; not used to group)",
"citations": [
{
"id": "string (optional)",
"title": "string (required)",
"source": "string (optional)",
"url": "string (optional)",
"excerpt": "string (required)"
}
],
"strategy": "tfidf (optional; only supported value)",
"threshold": 0.55
}- claim — optional context, max 2000 characters. It is echoed back in the response and included in the exported report, but it is not used to group sources. Omit it (or send an empty string) and the check still runs on the citations alone; requests that send a claim behave exactly as before.
- citations— array; a citation is “usable” only when it has both a title (max 500 chars) and an excerpt (max 5000 chars). 2–10 usable citations are required. URLs are optional (max 2000 chars). Paste the cited text yourself — Caus does not fetch URLs.
- strategy — optional; the only supported value is "tfidf" (conservative). Semantic-feature and hybrid modes are dev/evaluation-only and are rejected here.
- threshold — optional number, must be greater than 0 and at most 1. Defaults to 0.55. Higher values require more text overlap to group citations as echoes (stricter, fewer collapses); lower values are more sensitive (more collapses, higher risk of false merges). The threshold adjusts grouping sensitivity, not truth or accuracy.
Response & errors
200 OK
// This is the actual response for the request below — every number here is
// real output from POST /api/citation-check, not a hand-written example.
{
"ok": true,
"claim": "AI chip startup Vortex Computing raised a $200M Series C to scale its inference accelerator line.",
"providedCount": 3,
"independentCount": 2,
"duplicatesRemoved": 1,
"independenceRatio": 0.6667,
"largestEchoGroup": 2,
"sourceDiversity": "High",
"strategy": "tfidf",
"strategyLabel": "Conservative TF-IDF",
"strategyTier": "conservative-default",
"isDemoOnly": false,
"dedupThreshold": 0.55,
"productionNote": "Conservative, production-safe TF-IDF echo grouping ...",
"clusters": [
{
"cluster_id": 1,
"size": 2,
"avg_similarity": 0.867,
"strongest_similarity": 0.867,
"group_kind": "repeated_echo",
"explanation": "These 2 citations were grouped because their excerpts shared high text overlap under the public TF-IDF strategy (strongest pair similarity 0.867, average pair similarity 0.867, at threshold 0.55). They count as one independent evidence group.",
"representative_title": "Vortex Computing raises $200M in Series C funding round",
"sources": ["ChipWatch", "SiliconBeat"],
"articles": [
{ "title": "Vortex Computing raises $200M in Series C funding round", "source": "SiliconBeat", "url": "", "publishedAt": "", "relevance_score": null },
{ "title": "Vortex Computing raises $200M in Series C funding round", "source": "ChipWatch", "url": "", "publishedAt": "", "relevance_score": null }
]
},
{
"cluster_id": 2,
"size": 1,
"avg_similarity": null,
"strongest_similarity": null,
"group_kind": "standalone",
"explanation": "This citation did not exceed the public TF-IDF echo threshold (0.55) with another usable citation, so it counts as its own independent evidence group.",
"representative_title": "Global AI accelerator market to reach $80B by 2028, report says",
"sources": ["Market Analyst Today"],
"articles": [
{ "title": "Global AI accelerator market to reach $80B by 2028, report says", "source": "Market Analyst Today", "url": "", "publishedAt": "", "relevance_score": null }
]
}
]
}
// 400 Bad Request (structured error)
{
"ok": false,
"error": "At least 2 citations with both a title and an excerpt are required.",
"code": "TOO_FEW_CITATIONS",
"field": "citations"
}independentCount is the number of independent evidence groups; duplicatesRemoved is how many sources were grouped as repeated echo of the same event; each clusters[]entry of size > 1 is a repeated-echo group.
Each cluster also carries source-independence analysis detail: group_kind (repeated_echo or standalone), strongest_similarity, avg_similarity, and a plain-language explanation of why those citations were grouped. These explain the grouping decision — they are not a truth or accuracy claim. See the report reading guide on the citation-check page for field-by-field definitions.
Errors return { ok: false, error, code, field? } with a machine-readable code (e.g. TOO_FEW_CITATIONS, CLAIM_TOO_LONG) and an optional field path. No stack traces or internal implementation details are exposed.
Examples
cURL
curl -X POST https://caus.live/api/citation-check \
-H 'Content-Type: application/json' \
-d '{
"claim": "AI chip startup Vortex Computing raised a $200M Series C to scale its inference accelerator line.",
"citations": [
{ "id": "c1", "title": "Vortex Computing raises $200M in Series C funding round", "source": "SiliconBeat",
"excerpt": "AI chip startup Vortex Computing has raised $200 million in a Series C funding round led by Summit Ventures. The company will use the funding to scale production of its custom inference accelerator chips and expand its hardware engineering team." },
{ "id": "c2", "title": "Vortex Computing raises $200M in Series C funding round", "source": "ChipWatch",
"excerpt": "AI chip startup Vortex Computing has raised $200 million in a Series C funding round led by Summit Ventures. The company will use the funding to scale production of its custom inference accelerator chips and expand its hardware engineering team. Vortex Computing expects to begin volume shipments in the first half of next year." },
{ "id": "c3", "title": "Global AI accelerator market to reach $80B by 2028, report says", "source": "Market Analyst Today",
"excerpt": "A new report from DataBridge Research projects the global AI accelerator market will grow to $80 billion by 2028. Growth is driven by rising demand for inference workloads at hyperscale cloud providers and enterprise data centers." }
]
}'
// Two citations (SiliconBeat, ChipWatch) repeat the same funding announcement
// almost verbatim, so they collapse into one repeated-coverage group. The
// third citation covers a different topic and stays standalone. See the
// response below — these are the real numbers this request returns.JavaScript (fetch)
const res = await fetch("https://caus.live/api/citation-check", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
claim: "AI chip startup Vortex Computing raised a $200M Series C to scale its inference accelerator line.",
citations: [
{ id: "c1", title: "Vortex Computing raises $200M in Series C funding round", source: "SiliconBeat",
excerpt: "AI chip startup Vortex Computing has raised $200 million in a Series C funding round led by Summit Ventures. The company will use the funding to scale production of its custom inference accelerator chips and expand its hardware engineering team." },
{ id: "c2", title: "Vortex Computing raises $200M in Series C funding round", source: "ChipWatch",
excerpt: "AI chip startup Vortex Computing has raised $200 million in a Series C funding round led by Summit Ventures. The company will use the funding to scale production of its custom inference accelerator chips and expand its hardware engineering team. Vortex Computing expects to begin volume shipments in the first half of next year." },
{ id: "c3", title: "Global AI accelerator market to reach $80B by 2028, report says", source: "Market Analyst Today",
excerpt: "A new report from DataBridge Research projects the global AI accelerator market will grow to $80 billion by 2028. Growth is driven by rising demand for inference workloads at hyperscale cloud providers and enterprise data centers." },
],
}),
})
const data = await res.json()
// data.independentCount -> independent evidence groups (2 here)
// data.duplicatesRemoved -> sources grouped as repeated echo (1 here — the
// SiliconBeat/ChipWatch pair collapses into one group)
// data.clusters -> per-group breakdown, including the standalone sourceCopy-paste clients
Minimal example scripts that call the public POST /api/citation-check endpoint using the conservative TF-IDF strategy. No external dependencies required.
Both examples use synthetic data (fictional companies). The API returns a source-independence / echo grouping — not a truth verdict and not an accuracy receipt.
What this is — and is not
Read the result as source independence / echo grouping only
- Not a truth verdict — this does not judge whether the claim, or any source, is correct.
- Not human-reviewed validation — these groupings are not labeled or checked by a human reviewer.
- Not provenance or ownership lineage — it measures same-event overlap only, not editorial ownership or full source chain-of-custody.
- Conservative public route, not an accuracy receipt — it catches near-verbatim repeats; paraphrased or lightly rewritten coverage may not collapse. No separate accuracy claim is made.
This endpoint uses a conservative public TF-IDF / text-overlap implementation. It is not a fact-checker, and it makes no accuracy claim beyond Caus’s existing receipt gates.