Send your content to /fingerprint/embed to extract the TKG and embed the watermark.
curl -X POST "https://api.factagora.com/api/v1/fingerprint/embed" \ -H "Authorization: Bearer fct_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "content": "The European Central Bank raised interest rates by 25 basis points on Thursday, citing persistent core inflation in the eurozone. Analysts at Goldman Sachs expect one more hike before a pause in Q4.", "content_type": "news", "metadata": { "author_id": "editor_jane", "published_at": "2024-06-15T08:00:00Z", "source_id": "article_12345" } }'
{ "watermarked_content": "The European Central Bank raised interest rates by 25 basis points...", "fingerprint_id": "fp_l1p8OPCwGhvu", "tkg_snapshot": { "entities": ["European Central Bank", "Interest rate", "Goldman Sachs"], "timeseries": ["2024-06-15"], "relations": [ { "from": "European Central Bank", "rel": "raises", "to": "Interest rate" } ], "argument_map": [ { "premise": "Persistent core inflation in the eurozone", "evidence": "ECB policy meeting decision", "conclusion": "Interest rates raised by 25 basis points" } ] }, "embed_timestamp": "2024-06-15T08:01:23.456Z", "meta": { "executionTimeMs": 1234 }}
Distribute watermarked_content, not the original. The watermarked version looks identical to the original but contains invisible zero-width characters that enable watermark-based detection.
Store fingerprint_id alongside your internal article ID. You’ll need it for re-scoring and reporting.
Notice that the query text is completely rewritten — “ECB hiked rates 25bp” vs “European Central Bank raised interest rates by 25 basis points” — yet the API matched it with 87% confidence by comparing the underlying causal structure.