Skip to main content
POST
DeepStamp proves that a piece of content originated from you, even after it has been rewritten or translated. Embedding extracts a Temporal Knowledge Graph (TKG) from your content and hides a watermark seeded by that structure. Detection scores candidate content against every stored fingerprint using both the watermark and the causal structure.
DeepStamp is the product name; the API paths still say fingerprint. Endpoints are /api/v1/fingerprint/embed and /api/v1/fingerprint/detect, and responses return fingerprint_id. There is no /api/v1/deepstamp/* endpoint.

Endpoints


POST /api/v1/fingerprint/embed

Request Body

Provide either content or url, not both.
string
Raw text to fingerprint. Maximum 50,000 characters.
string
URL of the source document to fingerprint.
string
default:"news"
Category of the content. One of news, report, legal, internal. This also selects the default scoring weights used at detection time.
object
Your own identifiers, stored with the fingerprint and echoed back on every match.

Response

string
Your content with the TKG-seeded zero-width watermark embedded. Distribute this version, not the original.
string
Unique fingerprint identifier (fp_*). Store it alongside your internal article id.
object
The structure extracted from your content.
string
ISO 8601 timestamp of when the fingerprint was embedded.

POST /api/v1/fingerprint/detect

Request Body

Provide exactly one of content, url, or fingerprint_id. Content and URL queries are extracted on the fly and are never stored.
string
Raw text to scan, typically the article you want to check. Maximum 50,000 characters.
string
URL of the document to scan.
string
An already-embedded fingerprint id (fp_*) to re-score against the registry. This reuses the stored snapshot instead of re-extracting, which makes it the cheapest option for scheduled monitoring.
number
default:"5"
Number of matches to return. Range: 1–50.
number
default:"0.3"
Minimum combined score for a candidate to be reported. Candidates with no shared signal at all are always excluded, whatever this value is. match_found is true only when at least one match clears both gates.
number
default:"1000"
Upper bound on how many stored fingerprints are scanned, newest first. Range: 1–5000.
object
Custom scoring weights. entity, time, and causal must sum to 1.0. When omitted, content-type defaults apply: 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.
object
Restrict which stored fingerprints are considered.

Response

boolean
True when at least one candidate cleared min_score.
number
The top match’s combined score, or 0 when nothing matched.
string
The query’s fingerprint id. For content and url queries this is minted during on-the-fly extraction and is not persisted.
array
Top-K candidates, ranked by combined score descending.
object

Next steps

Embed & Detect walkthrough

Step-by-step guide with code examples.

Best practices

Production tips for scoring, filtering, and auditing.