> ## 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+の書類、48+の言語に対応する AI 搭載の書類確認。1回$0.15、毎月$10無料、2秒未満の推論。

Didit の本人確認は、パスポート、ID カード、運転免許証、在留許可証といった政府発行の身分証明書を、220+の国と14,000+の書類の種類にわたって読み取り、真正性を確認します。書類の改ざんや不正をチェックしたうえで、AI の OCR でデータを抽出します。国によっては、データベースへの照会やデジタル ID ウォレットを使って、書類なしで本人確認を行うこともできます ([3つの確認方法](#3つの確認方法))。確認結果の読み方に関するアカデミーのレッスンでは、3:47 のところで本人確認を取り上げ、抽出されたデータよりも先に真正性のチェックが行われる理由を示しています。[本人確認: データよりも先に真正性を - Didit アカデミー](https://www.youtube.com/embed/7htTWCWsl60?start=227\&rel=0\&playsinline=1)

本人確認連携プロンプト
        Copy prompt to clipboard



      
      

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



      
      

Paste into

![書類の撮影から 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 搭載の撮影システムで、確認プロセスを手間なく開始できます。ユーザーは、リアルタイムの支援を受けながら、身分証明書をアップロードまたは撮影します。* 書類の種類と発行国の **自動検出**
* 最適な位置、照明、ピントのための **リアルタイムの視覚的な手がかり**
* 条件が整うと **自動で撮影** するため、手動でのやり直しは不要
* **パスポート**、**運転免許証**、**国民 ID カード**、**在留許可証** に対応> [!NOTE]
>
> *重要な理由*: インテリジェントな撮影によりユーザーの負担が減り、最初の試行から高品質な提出が得られるため、コンバージョン率と信頼性が高まります。**2. 高度なデータ処理**本人データを、比類のない精度で抽出し、検証します。**データ抽出** - 最先端の技術が、すべての主要な項目を処理します。| 機能 | 詳細 |
| - | - |
| **項目の抽出** | 氏名、生年月日、書類番号、発行日と有効期限、国籍など |
| **OCR** | 高精度なテキスト認識 |
| **MRZ の解析** | 機械読み取りゾーンのデコード |
| **バーコードのデコード** | バーコードのデータを自動で抽出 |**データ検証**:* 目視ゾーン、MRZ、バーコードの間でデータを照合し、整合性を確認します
* 発行機関が検証に必要な証明書を公開している場合に、発行者が署名したバーコードを暗号技術で検証します。現在はフランスの国民 ID カードに対応しており、その ANTS 2D-Doc バーコードは、ANTS のトラストリストにつながる署名者証明書に照らして検証されるため、内容に矛盾がないように見えても、発行機関が署名していないバーコードを検知できます
* 形式とパターンの照合により、異常を検知します
* 政府のデータベースに (許可されている場合は) リアルタイムで照会し、信頼できる検証を行います> [!NOTE]
>
> *重要な理由*: 包括的なデータ処理により、正確性が確保されてエラーがなくなり、すべての確認に自信を持てます。**3. 高度な分析**AI 搭載のシステムが、書類の完全性と真正性を確保するための包括的なチェックを行います。- **書類の真正性** の検証
- **改ざんの検知** と画像の完全性の分析
- 次のような不正を防ぐ **書類のライブネス検知**:
  * デジタル書類の画面キャプチャ
  * 画面に表示された書類の写真
  * 印刷された書類のコピー
  * 顔写真が改ざんされた書類
- **セキュリティ機能の検証** (ホログラム、透かしなど)
- 認証済みデータベースに対する **テンプレートの照合****4. シームレスな結果と連携**柔軟な提供方法で、すぐに活用できるインサイトを得られます。**リアルタイムの結果**:- 直感的なダッシュボードで即座に更新を確認
- 自動化されたワークフロー向けの、即時の Webhook 通知
- 既存のシステムにシームレスに統合できる RESTful API**包括的なレポート**:* 確認結果と証拠を含む、詳細な PDF レポート
* コンプライアンスと記録の保管のための監査証跡
* 運用上のニーズに合わせられるカスタマイズ可能なオプション> [!NOTE]
>
> *重要な理由*: 迅速でアクセスしやすい結果により、チームは安全で監査可能なプロセスを保ちながら、すばやく対応できます。***## 3つの確認方法撮影した書類による確認は、[本人確認の方法](https://docs.didit.me/core-technology/id-verification/verification-methods.md) の3つのうちの1つです。国ごとに、書類をまったく使わずに本人であることを証明してもらうこともできます。- **[書類を使わない照会](https://docs.didit.me/core-technology/id-verification/non-doc-lookup.md)** - ユーザーが国民 ID 番号といくつかの個人情報を入力し、国ごとに示される政府の登録簿やその他の信頼できる情報源と照合します。その情報源が顔写真を返す場合は、セルフィー、パッシブライブネス、顔照合が含まれます。
- **[デジタル ID ウォレット](https://docs.didit.me/core-technology/id-verification/digital-id-wallets.md)** - ユーザーが MitID、BankID、itsme といった政府または銀行のデジタル ID でサインインすると、ウォレットが署名付きの属性のセットを共有します。このページの内容はすべて書類の撮影について説明したもので、変更はありません。確認方法について何も指定しないワークフローは、これまでどおり書類の撮影のみとなります。***## 書類の要件確認を確実に成功させるには、書類が次の基準を満たしている必要があります。#### 一般的な要件- 政府が発行したもので、設定された有効期間内であること
- 物理的に損傷がないこと (傷、汚れ、破損により詳細が隠れていないこと)
- すべての重要な情報 (氏名、生年月日、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)* **有効期限モード**: 有効期限が過ぎた書類の扱い方を選択します。

  * **期限切れドキュメントを拒否**: 書類の有効期限が今日より前の場合、期限切れとしてマークして拒否します。
  * **期限切れドキュメントを許可**: 有効期限が過ぎた書類にフラグを立てたりブロックしたりしません。

  この設定は承認後のモニタリングも制御します。モニタリングはデフォルトで有効です。**期限切れドキュメントを拒否** にした場合、承認済みのセッションは、書類の有効期限がその後に過ぎると `"Kyc Expired"` に移行し、`status.updated` が送信されます。**期限切れドキュメントを許可** にした場合は、承認済みのままとなり、モニタリングされることはありません。[書類のモニタリング](https://docs.didit.me/core-technology/id-verification/document-monitoring-id-verification.md) をご覧ください。
* **優先する文字形式**: 抽出された氏名や項目を、どのように正規化するかを選択します。
  * **ラテン文字 (A-Z) を優先**: 例: "Mohammed"
  * **原語の文字 (非ラテン文字) を優先**: 例: "محمد"
* **地域別の対応とサブタイプ**: 地域ごとに書類を有効にし、書類の種類に多くのバリエーションがある場合は、受け入れ可能なサブタイプを指定します。
  * 例: 米国の運転免許証では、受け入れる正確なサブタイプ (たとえば、アリゾナ州の商用運転免許証、インディアナ州の運転免許証 (REAL ID)、ニューヨーク州の強化運転免許証など) を選択します。
  * 「受け入れられるサブタイプ」のコントロールを使うと、多数のバリエーション (たとえば「128件選択済み」) をまとめて含めたり除外したりできます。> ヒント: これらの設定は国と書類の種類ごとに適用されるため、市場によっては厳格に、他の市場では柔軟に運用できます。## 国ごとの年齢制限本人確認の際に、国ごとに最小年齢と最大年齢の要件を適用します。システムは提出された書類からユーザーの生年月日を抽出し、書類の発行国に設定された年齢の上限と下限に照らしてチェックします。### 設定年齢制限は、コンソールで国ごとの表として直接設定します。| 列 | 説明 |
| - | - |
| **国** | 書類の発行国 (ISO 3166-1 alpha-3)。許可する書類のリストで有効にした国だけが表示されます。 |
| **最小年齢** | 必要とされる最小年齢。この値より若いユーザーは、設定されたアクション (Decline または Review) の対象になります。 |
| **最大年齢** | 許可される最大年齢。この値より年上のユーザーは、設定されたアクションの対象になります。上限を設けない場合は空欄にします。 |
| **州/地域のオーバーライド** | 州や地域ごとに年齢が異なる国 (米国、メキシコなど) では、設定アイコンを開いて、国レベルのデフォルトを上書きする州ごとの最小年齢と最大年齢を設定します。 |### 成人年齢のデフォルトコンソールには **「成人年齢のデフォルトを適用」** ボタンがあり、各国の最小年齢を、その国で知られている法的な成人年齢で自動入力します (ほとんどの国で18歳ですが、韓国は19歳、UAE は21歳、ニュージーランドは20歳など、例外があります)。そのあとで、国ごとに調整したり、州レベルのオーバーライドを追加したりできます。### 州/地域のオーバーライド国によっては、州や地域によって法的な年齢のしきい値が異なります。書類をスキャンすると、OCR システムが書類から地域 (たとえば "Mississippi"、"Alabama"、"Jalisco") を抽出します。その地域に州のオーバーライドが設定されている場合は、国レベルの年齢設定よりも優先されます。たとえば、米国の最小年齢が18歳で、ミシシッピ州のオーバーライドが21歳の場合、ミシシッピ州の運転免許証を提示したユーザーは、最小年齢21歳でチェックされます。### 設定可能なアクションユーザーの年齢が、書類の国 (または州) に設定された範囲外である場合、次のアクションを選べます。* **Decline**: セッションを自動的に不合格にします。
* **Review**: セッションに手動レビューのフラグを立てます。> [!NOTE]
>
> 国ごとの年齢制限は、**適応型年齢確認** のワークフローでも機能します。境界線上のケースで本人確認へのフォールバックが発動すると、年齢チェックは、これらの国ごとの設定を使い、書類の発行国と地域に基づいて最終的な判断を下します。


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