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

# 신분증 인증 API: 14,000종 이상의 신분증 지원

> Didit 신분증 인증은 220+개국, 14,000+종의 문서 유형 및 54개 언어를 지원하는 AI 솔루션입니다. 검사 건당 $0.15, 월 $10 무료 크레딧, sub-2s 추론을 제공합니다.

Didit 신분증 인증은 220+개국, 14,000+종 이상의 문서 유형에 걸쳐 여권, 신분증, 운전면허증, 거주 허가증 등 정부에서 발급한 신분증을 판독하고 인증합니다. 문서의 위변조와 사기 여부를 확인한 후 AI OCR로 데이터를 추출하며, 해당 국가에서 허용하는 경우 데이터베이스 조회 또는 디지털 ID 지갑을 통해 신분증 실물 없이도 인증할 수 있습니다([세 가지 인증 방법](#세-가지-인증-방법)).인증 결과 확인에 관한 Academy 강의는 3:47부터 신분증 인증을 다루며, 왜 추출된 데이터보다 진위 확인이 먼저 이루어지는지 설명합니다.[신분증 인증: 데이터에 앞선 진위 확인 — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?start=227\&rel=0\&playsinline=1)

신분증 인증 연동 프롬프트
        프롬프트를 클립보드에 복사



      
      

\<pre>

\````# Goal
Integrate Didit ID Verification (OCR + document authenticity) into your app. Pick ONE of the two delivery modes below.

\# Mode A — Session-based (recommended for user-facing flows)
Use this when the user uploads / photographs their document in a hosted Didit flow. The feature is configured on a workflow and runs as part of /v3/session/.

1\. Create a workflow with the ID_VERIFICATION feature (Business Console or POST /v3/workflows/). Canonical feature enum: "OCR" (legacy) or "ID_VERIFICATION".
2\. Create a session — POST /v3/session/ with { workflow_id, vendor_data, callback }. See /sessions-api/create-session.
3\. Open the returned session.url for the user OR mount the Web/Mobile SDK.
4\. After completion fetch the decision — GET /v3/session/{sessionId}/decision/ (or subscribe to the session.status.updated webhook).

The decision response surfaces the result under the plural array `id_verifications[]` (one entry per document collected in the workflow).

\# Mode B — Standalone API (server-to-server)
Use when you already have one or two document images and want a one-shot OCR + checks call.

POST https://verification.didit.me/v3/id-verification/
multipart/form-data — x-api-key: YOUR_API_KEY

Required: front_image. Required for dual-sided docs (ID cards, driver licences): back_image.
Allowed extensions: tiff/jpg/jpeg/png/webp/pdf. Max 5 MB per file. Images must be uncropped — all 4 corners visible.

curl example:
\```bash
curl -X POST 'https://verification.didit.me/v3/id-verification/' \
-H 'x-api-key: YOUR_API_KEY' \
-F 'front_image=@./id_front.jpg' \
-F 'back_image=@./id_back.jpg' \
-F 'perform_document_liveness=true' \
-F 'minimum_age=18' \
-F 'expiration_date_not_detected_action=DECLINE' \
-F 'invalid_mrz_action=DECLINE' \
-F 'inconsistent_data_action=DECLINE' \
-F 'preferred_characters=latin' \
-F 'save_api_request=true' \
-F 'vendor_data=user-123'
\```
Returns: { request_id, id_verification: { status, full_name, document_type, document_number, date_of_birth, expiration_date, parsed_address, mrz, barcodes, portrait_image, front_document_image, back_document_image, warnings: [...] } }.

\# Status enum (per id_verifications[].status)
"Not Started" | "In Progress" | "Approved" | "In Review" | "Declined" | "Abandoned" | "Kyc Expired"

\# Warnings (LogWarningChoices.ID_VERIFICATION)
The warnings[] array on each id_verification carries risk codes including:
DOCUMENT_EXPIRED, INVALID_MRZ, INCONSISTENT_DATA, COULD_NOT_RECOGNIZE_DOCUMENT, DOCUMENT_LIVENESS_FAILED, MIN_AGE_NOT_REACHED, MAX_AGE_EXCEEDED, EXPIRATION_DATE_NOT_DETECTED, DUPLICATED_DOCUMENT, FRAUD_RISK_FROM_OCR, COUNTRY_NOT_ALLOWED, DOCUMENT_TYPE_NOT_ALLOWED.
Full catalogue: /core-technology/id-verification/warnings-id-verification.

\# Failure modes to handle
\- HTTP 403 "You don't have enough credits..." — insufficient balance.
\- HTTP 400 with multipart validation errors (missing back_image on dual-sided docs, file > 5 MB, unsupported extension).
\- status="Declined" with one or more terminal warnings (DOCUMENT_EXPIRED, DOCUMENT_LIVENESS_FAILED, COULD_NOT_RECOGNIZE_DOCUMENT, etc.) — surface the first warning's long_description to the user and stop the flow.
\- status="In Review" with a DOCUMENT_LIVENESS_NOT_COMPUTED warning — the requested forgery check produced no usable score (provider error or crash); treat the document as unchecked and route it to your manual-review queue.
\- status="In Review" — route to your manual-review queue; do not approve the user.

\# See also
\- Canonical schema: /reference/data-models#id-verification
\- Full integration playbook: /integration/integration-prompt
\- Risk catalogue: /core-technology/id-verification/warnings-id-verification
\- Per-feature report: /core-technology/id-verification/report-id-verification````

\</pre>



      
      

붙여넣을 곳

![문서 캡처부터 AI 기반 분석 및 결정까지 이어지는 Didit 신분증 인증 단계](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-verification-steps.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=42c64546f3495000d7ea3b10c4b5fa50)**1. 지능형 캡처**직관적인 AI 기반 캡처 시스템으로 인증 프로세스를 손쉽게 시작할 수 있습니다. 사용자는 실시간 가이드를 받으며 신분증 문서를 업로드하거나 촬영합니다:* 문서 유형 및 발급 국가 **자동 감지**
* 최적의 위치, 조명, 초점을 안내하는 **실시간 시각 가이드**
* 조건이 완벽할 때 **자동 캡처** — 수동 재시도 불필요
* **여권**, **운전면허증**, **신분증**, **거주 허가증** 지원> [!NOTE]
>
> *중요한 이유*: 지능형 캡처는 사용자 불편을 줄이고 첫 시도에서 고품질 이미지를 확보하도록 지원하여, 전환율과 신뢰도를 높입니다.**2. 고급 데이터 처리**탁월한 정밀도로 신원 데이터를 추출하고 검증합니다.**데이터 추출** — 최첨단 기술로 모든 핵심 필드를 처리합니다:| 기능 | 상세 내용 |
| - | - |
| **필드 추출** | 성명, 생년월일, 문서 번호, 발급일/만료일, 국적 등 |
| **OCR** | 고정밀 텍스트 인식 |
| **MRZ 파싱** | 머신 판독 영역(MRZ) 디코딩 |
| **바코드 디코딩** | 자동 바코드 데이터 추출 |**데이터 검증**:* 일관성 확인을 위해 시각적 영역, MRZ, 바코드 간 데이터 교차 대조
* 발급 기관에서 검증에 필요한 인증서를 공개하는 경우, 발급 기관이 서명한 바코드에 대한 암호학적 검증 수행. 프랑스 국가 신분증은 현재 지원 대상입니다. ANTS 2D-Doc 바코드는 ANTS 신뢰 목록으로 연결되는 서명자 인증서를 통해 검증되므로, 발급 기관이 서명하지 않은 바코드는 내용이 일관되어 보여도 위조로 감지됩니다
* 이상 징후를 감지하기 위한 서식 및 패턴 매칭
* 공신력 있는 검증을 위해 정부 데이터베이스를 대상으로 실시간 조회 수행(허용된 경우)> [!NOTE]
>
> *중요한 이유*: 포괄적인 데이터 처리는 정확성을 보장하고 오류를 제거하여 모든 인증에 대한 확신을 제공합니다.**3. 고급 분석**AI 기반 시스템이 문서의 무결성과 진위성을 확인하기 위해 종합적인 검사를 수행합니다:- **문서 진위** 검증
- **위변조 감지** 및 이미지 무결성 분석
- 다음과 같은 사기를 방지하기 위한 **문서 라이브니스 감지**:
  * 디지털 문서의 화면 캡처
  * 화면에 표시된 문서 사진
  * 인쇄된 문서 사본
  * 인물 사진이 변조된 조작 문서
- **보안 기능 검증**(홀로그램, 워터마크 등)
- 공인 데이터베이스와의 **템플릿 매칭****4. 원활한 결과 제공 및 연동**유연한 전송 옵션을 통해 실행 가능한 인사이트를 즉시 확인하세요.**실시간 결과**:- 직관적인 대시보드를 통한 즉각적인 업데이트
- 자동화된 워크플로를 위한 실시간 webhook 알림
- 기존 시스템과의 원활한 연동을 위한 RESTful API**종합적인 보고 기능**:* 인증 결과 및 증적을 담은 상세 PDF 보고서
* 컴플라이언스 및 기록 보관을 위한 감사 추적
* 운영 요구사항에 맞춘 맞춤형 옵션> [!NOTE]
>
> *중요한 이유*: 빠르고 쉽게 확인할 수 있는 결과는 안전하고 감사가 가능한 프로세스를 유지하면서 팀이 신속하게 대처할 수 있도록 돕습니다.***## 세 가지 인증 방법사진 촬영 문서 방식은 세 가지 [신분증 인증 방법](https://docs.didit.me/ko/core-technology/id-verification/verification-methods.md) 중 하나입니다. 국가별로 문서 실물 없이도 신원을 증명할 수 있는 방법을 제공할 수 있습니다:- **[무서류 조회](https://docs.didit.me/ko/core-technology/id-verification/non-doc-lookup.md)** — 사용자가 국가 신분증 번호와 몇 가지 개인 정보를 입력하면, 국가별로 지정된 정부 등록부 또는 기타 공인 출처와 대조하여 확인합니다. 해당 출처에서 인물 사진을 반환하는 경우 셀피, 패시브 라이브니스 및 얼굴 대조가 포함됩니다.
- **[디지털 ID 지갑](https://docs.didit.me/ko/core-technology/id-verification/digital-id-wallets.md)** — 사용자가 MitID, BankID, itsme 등 정부 또는 은행의 디지털 신원 서비스로 로그인하면, 지갑에서 서명된 속성 집합을 공유합니다.이 페이지의 모든 내용은 기존과 동일한 문서 캡처를 설명합니다. 인증 방법에 대해 별도로 지정하지 않은 워크플로는 문서 캡처만 유지됩니다.***## 문서 요건최적의 인증 성공률을 위해 문서는 다음 기준을 충족해야 합니다:#### 일반 요건- 정부에서 발급되었으며 설정된 유효 기간 내에 있는 유효한 문서
- 물리적으로 온전한 상태(세부 정보를 가리는 손상, 긁힘, 얼룩이 없음)
- 모든 핵심 정보(성명, 생년월일, MRZ 등)를 명확히 알아볼 수 있음
- 제출된 모든 문서 간 데이터가 일치함#### 이미지 요건- 원본 실시간 촬영 사진(스크린샷, 스캔본 또는 디지털 사본 불가)
- 지원 형식: JPG, JPEG, PNG, PDF
- 최대 파일 크기: 5MB
- 문서의 모든 모서리가 보이는 풀컬러 이미지
- 빛 반사, 그림자, 디지털 편집 또는 조작이 없음
- 실물 문서 필수(디지털 ID는 공식적으로 인정되는 일부 지역에서만 지원)## 국가 및 문서 유형별 추가 설정콘솔에서 국가 및 문서 유형별로 정밀한 규칙을 직접 설정할 수 있습니다. 이러한 제어 기능을 통해 컴플라이언스 요구 사항에 맞춰 허용 기준과 텍스트 추출 방식을 맞춤 구성할 수 있습니다.![국가별 만료 및 승인 규칙을 설정하는 Didit 신분증 인증 추가 설정 패널](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/id-additional-settings.jpeg?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=4238b10a404795a61926fbdf1a3adc20)* **Expiration mode**: 유효기간이 지난 문서를 처리하는 방식을 선택합니다.

  * **Reject expired**: 문서의 만료일이 오늘보다 이전인 경우 만료된 것으로 표시하고 거부합니다.
  * **Allow expired**: 만료일이 지난 문서를 플래그 지정하거나 차단하지 않습니다.

  이 설정은 기본적으로 활성화되어 있는 승인 후 모니터링도 제어합니다. **Reject expired**를 선택하면 나중에 문서의 만료일이 지났을 때 승인된 세션이 `"Kyc Expired"` 상태로 이동하고 `status.updated`가 트리거됩니다. **Allow expired**를 선택하면 승인 상태를 유지하며 모니터링되지 않습니다. 자세한 내용은 [문서 모니터링](https://docs.didit.me/ko/core-technology/id-verification/document-monitoring-id-verification.md)을 참조하세요.
  워크플로 API에서 국가별 문서 설정인 `expiration_check_mode`는 `strict`(**Reject expired**), `allow_expired`(**Allow expired**), `local_regulation`을 허용합니다.
  `local_regulation`은 Didit에 해당 규칙이 있는 국가의 자체 규칙을 따르며, 그 외의 모든 지역에서는 만료된 문서를 거부합니다.
  그 외의 모든 값은 거부됩니다.
* **Preferred character format**: 추출된 성명 및 필드를 표준화하는 방식을 선택합니다.
  * **Prefer Latin characters (A–Z)**: 예: "Mohammed"
  * **Prefer original script (non‑Latin)**: 예: "محمد"
* **Regional support & subtypes**: 문서 유형에 여러 변형이 포함되어 있을 때 지역별로 문서를 활성화하고 허용할 하위 유형을 지정합니다.
  * 예: 미국 운전면허증의 경우 승인할 정확한 하위 유형을 선택합니다(예: Arizona Commercial Driver License, Indiana Operator License (REAL ID), New York Enhanced Driver License 등).
  * "Accepted subtypes" 제어 기능을 사용하여 여러 변형을 빠르게 포함하거나 제외할 수 있습니다(예: "128 selected").> 팁: 이러한 설정은 국가 및 문서 유형별로 적용되므로 특정 시장에서는 엄격하게, 다른 시장에서는 보다 유연하게 적용할 수 있습니다.## 국가별 연령 제한신분증 인증 중 국가별로 최소 및 최대 연령 요구 사항을 적용합니다. 시스템은 제출된 문서에서 사용자의 생년월일을 추출하여 문서의 발급 국가에 대해 구성된 연령 제한과 대조합니다.### 구성연령 제한은 콘솔에서 국가별 표로 직접 구성됩니다.| 열 | 설명 |
| - | - |
| **국가** | 문서의 발급 국가(ISO 3166-1 alpha-3)입니다. 허용된 문서 목록에서 활성화된 국가만 표시됩니다. |
| **최소 연령** | 요구되는 최소 연령입니다. 이 값보다 어린 사용자는 구성된 작업(거부 또는 검토)을 트리거합니다. |
| **최대 연령** | 허용되는 최대 연령입니다. 이 값보다 나이가 많은 사용자는 구성된 작업을 트리거합니다. 상한을 두지 않으려면 비워 둡니다. |
| **주/지역 재정의** | 하위 지역별로 연령 기준이 다른 국가(예: 미국, 멕시코)의 경우, 설정 아이콘을 열어 국가 수준의 기본값을 재정의하는 주별 최소 및 최대 연령을 구성합니다. |### 성년 기본값콘솔에는 각 국가의 최소 연령을 알려진 법적 성년 연령(대부분의 국가는 18세이며, 한국 19세, UAE 21세, 뉴질랜드 20세 등의 예외가 있음)으로 자동 입력하는 **"Apply age of majority"** 버튼이 포함되어 있습니다. 그런 다음 필요에 따라 개별 국가를 조정하거나 주 수준의 재정의를 추가할 수 있습니다.### 주/지역 재정의일부 국가는 주나 지역에 따라 법적 연령 기준이 다릅니다. 문서가 스캔되면 OCR 시스템이 문서에서 지역(예: "Mississippi", "Alabama", "Jalisco")을 추출합니다. 해당 지역에 대한 주/지역 재정의가 구성되어 있는 경우 국가 수준의 연령 설정보다 우선 적용됩니다.예를 들어 미국의 최소 연령이 18세이지만 미시시피주의 재정의가 21세로 설정되어 있다면, 미시시피주 운전면허증을 제시한 사용자는 최소 연령 21세를 기준으로 확인됩니다.### 구성 가능한 작업사용자의 연령이 해당 문서의 국가(또는 주)에 대해 구성된 범위를 벗어날 경우 적용할 작업을 선택할 수 있습니다.* **거부**: 세션이 자동으로 거부됩니다.
* **검토**: 세션이 수동 검토 대상으로 표시됩니다.> [!NOTE]
>
> 국가별 연령 제한은 **적응형 연령 확인** 워크플로와도 함께 작동합니다. 경계선에 있는 케이스로 인해 신분증 인증 대체 절차가 트리거되면, 연령 확인 시 이러한 국가별 설정을 사용하여 문서의 발급 국가 및 지역을 기반으로 최종 결정을 내립니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.