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

# クイックスタート：本人確認を素早く立ち上げる

> Diditで最初のKYCフローを数分で構築します。アカウント作成、ノーコードのワークフロー設定、セッション開始、Webhook受信まで。毎月$10分の無料クレジット。

このクイックスタートでは、新しいDiditアカウントから実際の本人確認までを案内します。アカウントを作成し、テンプレートから検証ワークフローを構築し、Webhookを設定してAPIキーをコピーし、1回のAPI呼び出しで検証セッションを開始して、判定結果をリアルタイムで受け取ります。このページは、下のAcademyのレッスンと対になっています。実際のコンソールで検証ワークフローを、テンプレートから公開までルール、分岐、料金、共有リンクを含めて構築する19分の画面録画です。[最初の検証フローを構築する — Didit Academy](https://www.youtube.com/embed/7-nJ3JE20i4?rel=0\&playsinline=1)

クイックスタートのプロンプト
        Copy prompt to clipboard



      
      

\<pre>

\````# Goal — ship your first Didit verification end-to-end

You are integrating Didit (https://docs.didit.me) into my project. Take me from zero to a working KYC / KYB flow: account, workflow, session, hosted UI, webhook, decision.

For the full canonical recipe (5K-token version covering SDK pick, webhook HMAC verification, every status, decision parsing), use:

https://docs.didit.me/integration/integration-prompt

That page has a "Copy Prompt" button — copy its prompt and follow it. The summary below is enough to bootstrap if you can't fetch the full prompt.

\## My application context

\<my_stack>
Stack: [framework + language, e.g. Next.js 15 + TypeScript]
Surface: [web | iOS | Android | React Native | Flutter | backend-only]
Use case: [KYC at signup | KYB at business onboarding | age gate | re-auth]
Database: [Postgres | MySQL | Mongo]
\</my_stack>

\## Steps

1\. **Register programmatically (2 calls)** — `POST https://apx.didit.me/auth/v2/programmatic/register/` then `POST https://apx.didit.me/auth/v2/programmatic/verify-email/` with the 6-char code. Save `response.application.api_key` as `DIDIT_API_KEY`.

2\. **Create a workflow** —
\```bash
curl -X POST https://verification.didit.me/v3/workflows/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_label": "Standard KYC",
"workflow_type": "kyc",
"features": [
  \{"feature": "OCR"},
  \{"feature": "LIVENESS", "config": {"face_liveness_method": "PASSIVE"}},
  \{"feature": "FACE_MATCH"},
  \{"feature": "AML"}
]
}'
\```
Persist `workflow.id`.

3\. **Create a session** —
\```bash
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"workflow_id": "$WORKFLOW_ID", "vendor_data": "user-42", "callback": "https://myapp.com/kyc/return"}'
\```
Response contains `session_id`, `url`, `session_token`. Redirect the user to `url` (or open in the SDK / an iframe).

4\. **Register a webhook destination** — `POST https://verification.didit.me/v3/webhook/destinations/` with `{"url": "...", "subscribed_events": ["status.updated","data.updated","user.status.updated","user.data.updated"], "webhook_version": "v3"}`. Save the returned `secret`.

5\. **Receive webhooks** — verify the `X-Signature-V2` header (HMAC-SHA256 of canonical JSON; see /integration/webhooks). De-dupe on `event_id`. Respond within 5 seconds. Apply decision to your DB based on `status`.

6\. **Retrieve the decision (fallback)** — `GET https://verification.didit.me/v3/session/{session_id}/decision/`. V3 returns plural arrays (`id_verifications[]`, `liveness_checks[]`, `face_matches[]`, `aml_screenings[]`, ...). Never assume singular V2 fields.

\## Failure modes
\- Missing / wrong API key → `401 {"detail": "Invalid or missing API key"}` on verification.didit.me, `403` on apx.didit.me.
\- Invalid `workflow_id` → `400`.
\- Webhook handler slower than 5s → Didit retries with exponential backoff up to ~24h.

\## Sources of truth (cross-check before shipping)
\- /openapi-25.json — verification API
\- /openapi-auth.json — programmatic auth
\- /reference/data-models — V3 decision shape
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

Paste into

**1. Diditアカウントを作成する**1) [business.didit.me](https://business.didit.me)にアクセスします
2) SSO、またはメールアドレスとパスワードでサインアップします
3) **組織**を作成します。ここで、チームがワークフロー、APIキー、検証アクティビティを管理します**2. 検証ワークフローを構築する**サイドバーの**ワークフロー**に移動し、**Create New**をクリックします。ワークフローのタイプを選びます。| タイプ | 説明 |
| - | - |
| **Simple Workflow** | ステップが決まった順序で実行されます。標準的なオンボーディングフローに最適です |
| **Node-Based Workflow** | 柔軟な分岐ロジックで、検証結果に応じた条件付きのパスを構築できます |テンプレートを選んで始めます。| テンプレート | ユースケース |
| - | - |
| **KYC** | 標準的なユーザーオンボーディング |
| **適応的年齢検証** | 本人確認へのフォールバック付きのセルフィー年齢チェック |
| **生体認証** | パスワードレスのセルフィー再認証 |
| **住所確認** | 住所証明のフロー |ブロックのオン・オフを切り替えてカスタマイズします。ライブネス、顔照合、AML、NFC、電話番号、メールアドレスなどがあります。下のクリップは、Academyのレッスンの2:50から始まり、テンプレートから新しいワークフローを作成して、ノードごとに設定していきます。[テンプレートから新しいワークフローを作成する — Didit Academy](https://www.youtube.com/embed/7-nJ3JE20i4?start=170\&rel=0\&playsinline=1)**3. Webhookを設定してAPIキーをコピーする**サイドバーの**API・Webhook**に移動します。1. **Webhook URL**を追加します。Diditはここにステータス更新を送信します
2. **APIキー**をコピーします。サーバー側でのみ保管し、フロントエンドのコードには決して公開しないでください
3. 送信先の**署名シークレット**を、`.env`に`DIDIT_WEBHOOK_SECRET`として保存します。受信したWebhookの`X-Signature-V2` HMACを検証するために必要です> [!TIP]
>
> このページから、さまざまなデータとステータスで**Webhookを直接テスト**できます。検証を最後まで実行する必要はありません。本番稼働の前に、連携が正しく動作することを確認できます。**4. 検証セッションを開始する****オプションA — ホスト型セッション**（推奨）Diditが推奨する連携方法です。Diditはホスト型フローを継続的にA/Bテストしているため、UIを実装しなくても、完了率、速度、不正への耐性が向上し続けます。コンソールで\*\*「+」\*\*をクリックし、ワークフローを選択して、リンクまたはQRコードを生成します。または、プログラムでセッションを作成します。```bash theme={null}
curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflow_id": "your-workflow-id"}'
```> [!NOTE]
>
> `workflow_id`は、サイドバーの**ワークフロー**で確認できます。連携のAcademyレッスンでは、これは3:36の箇所です。必須項目が1つだけのセッション作成の呼び出しに続いて、ベンダーデータとコールバックURLを扱います。[セッションの作成：必須項目は1つだけ — Didit Academy](https://www.youtube.com/embed/fX03-WEu_EI?start=216\&rel=0\&playsinline=1)**オプションB — スタンドアロンAPI**（上級者向け）セッションなしで、バックエンドからエンドポイントを直接呼び出します。サーバー間通信やカスタムフローに最適です。| エンドポイント | 用途 |
| - | - |
| `POST /v3/id-verification/` | 書類チェック |
| `POST /v3/face-match/` | セルフィーとIDの照合 |
| `POST /v3/aml/` | 制裁・PEP |
| `POST /v3/passive-liveness/` | ディープフェイク検出 |完全な一覧は[APIリファレンス](https://docs.didit.me/standalone-apis/id-verification.md)を参照してください。**5. リアルタイムで結果を受け取る**Diditは、Webhookイベントを御社のエンドポイントに送信します。ポーリングは不要です。| イベント | トリガー |
| - | - |
| `status.updated` | ユーザーセッションまたは法人セッションのステータスが変わったとき |
| `data.updated` | セッションまたは法人セッションの検証データが変わったとき |
| `user.status.updated` | ベンダーのユーザーのステータスが変わったとき |
| `user.data.updated` | ベンダーのユーザープロフィールまたは集計データが変わったとき |
| `business.status.updated` | ベンダーの法人のステータスが変わったとき |
| `business.data.updated` | ベンダーの法人プロフィールまたは集計データが変わったとき |
| `activity.created` | アクティビティイベントが記録されたとき |
| `transaction.created` | トランザクションが作成されたとき |
| `transaction.status.updated` | トランザクションのステータスが変わったとき |ペイロードの形式と署名の検証については、[Webhook](https://docs.didit.me/integration/webhooks.md)を参照してください。**6. 管理と監視**コンソールでは、次のことができます。- セッションの進捗をリアルタイムで確認する
- コンプライアンス用のPDF/CSVレポートをダウンロードする
- 不審なIDや顔をブロックリストに登録する
- セッションを手動で更新または拒否する結果の読み方を扱うAcademyのレッスンでは、実際のセッションをチェックごとに確認します。警告、スコア、イベントログ、Webhookの配信、コンプライアンスチームが求めるPDFエクスポートまで扱います。[検証結果の読み方 — Didit Academy](https://www.youtube.com/embed/7htTWCWsl60?rel=0\&playsinline=1)## サポートが必要な場合> **[WhatsApp](https://wa.me/+19544659728)**
>
> 最短で対応します。直接ご連絡ください。> **[メール](mailto:hello@didit.me)**
>
> [hello@didit.me](mailto:hello@didit.me)


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