> ## 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

> 콘텐츠에서 TKG를 추출하고 구조 기반 워터마크를 삽입합니다.

DeepStamp는 콘텐츠가 다시 쓰이거나 번역된 뒤에도 그 출처가 당신임을 증명합니다. 삽입 단계에서 콘텐츠의 시간 지식 그래프(TKG)를 추출하고 그 구조를 씨앗으로 삼은 워터마크를 숨깁니다.

<Note>
  **DeepStamp는 제품명이고, API 경로는 아직 `fingerprint`입니다.** 엔드포인트는 `/api/v1/fingerprint/embed`와 `/api/v1/fingerprint/detect`이며 응답에도 `fingerprint_id`가 사용됩니다. `/api/v1/deepstamp/*` 엔드포인트는 없습니다.
</Note>

## POST /api/v1/fingerprint/embed

### 요청 본문

`content`와 `url` 중 하나만 보냅니다.

<ParamField body="content" type="string">
  fingerprint를 생성할 원문 텍스트. 최대 50,000자.
</ParamField>

<ParamField body="url" type="string">
  fingerprint를 생성할 원본 문서의 URL.
</ParamField>

<ParamField body="content_type" type="string" default="news">
  콘텐츠 종류. `news`, `report`, `legal`, `internal` 중 하나. 탐지 시 사용할 기본 가중치도 이 값에 따라 결정됩니다.
</ParamField>

<ParamField body="metadata" type="object">
  직접 관리하는 식별자입니다. fingerprint와 함께 저장되며 매칭 결과에 그대로 반환됩니다.

  <Expandable title="Metadata fields">
    <ParamField body="author_id" type="string">내부 작성자 식별자</ParamField>
    <ParamField body="published_at" type="string">ISO 8601 발행 시각</ParamField>
    <ParamField body="source_id" type="string">CMS 기사 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>

### 응답

<ResponseField name="watermarked_content" type="string">
  TKG 기반 zero-width 워터마크가 삽입된 콘텐츠입니다. 원문 대신 이 버전을 배포하세요.
</ResponseField>

<ResponseField name="fingerprint_id" type="string">
  고유 fingerprint 식별자(`fp_*`). 내부 기사 id와 함께 보관하세요.
</ResponseField>

<ResponseField name="tkg_snapshot" type="object">
  콘텐츠에서 추출된 구조입니다.

  <Expandable title="Snapshot fields">
    <ResponseField name="entities" type="array">콘텐츠에서 추출된 개체 목록</ResponseField>
    <ResponseField name="timeseries" type="array">정규화된 시점(`YYYY`, `YYYY-MM`, `YYYY-MM-DD`)</ResponseField>
    <ResponseField name="relations" type="array">`from` / `rel` / `to` 형태의 인과·시간 관계</ResponseField>
    <ResponseField name="argument_map" type="array">전제 → 근거 → 결론 사슬</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="embed_timestamp" type="string">
  fingerprint가 삽입된 시각(ISO 8601).
</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>

탐지는 [DeepStamp Detect](/ko/api-reference/fingerprint-detect)에서 다룹니다.
