Skip to main content
POST
Fingerprint Detect

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
content
string
required

Raw text to scan — typically the article a user is currently reading. The server extracts a TKG snapshot on the fly without persisting the query.

Required string length: 1 - 50000
top_k
integer
default:5

Number of top matches to return (default 5, max 50)

Required range: 1 <= x <= 50
min_score
number
default:0.3

Minimum combined score for a candidate to be reported. Candidates below this threshold are filtered out. Zero-score candidates (no shared entity/time/causal signal at all) are always excluded regardless of this value. match_found is true iff at least one match clears both gates.

Required range: 0 <= x <= 1
candidate_limit
integer
default:1000

Upper bound on the naive in-memory scan (newest fingerprints first). Phase A has no entity-based pre-filter; raise with care.

Required range: 1 <= x <= 5000
weights
object

Custom scoring weights. Must sum to 1.0. When omitted, content-type-aware defaults are used: news (0.5/0.2/0.3), legal (0.3/0.1/0.6), report (0.4/0.3/0.3), internal (0.5/0.2/0.3).

filters
object

Response

Detection completed (may return match_found=false if nothing cleared min_score)

match_found
boolean
required

True when at least one candidate cleared min_score

confidence_score
number
required

Top match's combined score (0 when match_found is false). Clients may apply their own threshold on top of min_score for UI badges.

Required range: 0 <= x <= 1
query_fingerprint_id
string | null
required

Echo of the query fingerprint id. For content/url inputs this is the id minted during on-the-fly extraction (not persisted). For fingerprint_id inputs this is the echoed id from the request.

matches
object[]
required

Top-K candidates ranked by combined score, descending

meta
object
required