> ## Documentation Index
> Fetch the complete documentation index at: https://docs.factagora.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DeepStamp Embed

> Extract a TKG from your content and embed a structure-based watermark.

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.

<Note>
  **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.
</Note>

## POST /api/v1/fingerprint/embed

### Request Body

Provide either `content` or `url`, not both.

<ParamField body="content" type="string">
  Raw text to fingerprint. Maximum 50,000 characters.
</ParamField>

<ParamField body="url" type="string">
  URL of the source document to fingerprint.
</ParamField>

<ParamField body="content_type" type="string" default="news">
  Category of the content. One of `news`, `report`, `legal`, `internal`. This also selects the default scoring weights used at detection time.
</ParamField>

<ParamField body="metadata" type="object">
  Your own identifiers, stored with the fingerprint and echoed back on every match.

  <Expandable title="Metadata fields">
    <ParamField body="author_id" type="string">Internal author identifier</ParamField>
    <ParamField body="published_at" type="string">ISO 8601 publish timestamp</ParamField>
    <ParamField body="source_id" type="string">Upstream source identifier, such as a CMS article id</ParamField>
  </Expandable>
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.factagora.com/api/v1/fingerprint/embed" \
    -H "Authorization: Bearer fa_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.",
      "content_type": "news",
      "metadata": {
        "author_id": "editor_jane",
        "published_at": "2024-06-15T08:00:00Z",
        "source_id": "article_12345"
      }
    }'
  ```
</RequestExample>

### Response

<ResponseField name="watermarked_content" type="string">
  Your content with the TKG-seeded zero-width watermark embedded. Distribute this version, not the original.
</ResponseField>

<ResponseField name="fingerprint_id" type="string">
  Unique fingerprint identifier (`fp_*`). Store it alongside your internal article id.
</ResponseField>

<ResponseField name="tkg_snapshot" type="object">
  The structure extracted from your content.

  <Expandable title="Snapshot fields">
    <ResponseField name="entities" type="array">Distinct entities found in the content</ResponseField>
    <ResponseField name="timeseries" type="array">Normalized time anchors (`YYYY`, `YYYY-MM`, or `YYYY-MM-DD`)</ResponseField>
    <ResponseField name="relations" type="array">Causal or temporal relations as `from` / `rel` / `to` triples</ResponseField>
    <ResponseField name="argument_map" type="array">Premise → evidence → conclusion chains</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="embed_timestamp" type="string">
  ISO 8601 timestamp of when the fingerprint was embedded.
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "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 }
  }
  ```
</ResponseExample>

Detection is covered in [DeepStamp Detect](/api-reference/fingerprint-detect).
