curl -X GET 'https://verification.didit.me/v3/users/user-abc-123/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.users.retrieve(
"user-abc-123",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.users.retrieve("user-abc-123");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Users.Retrieve(ctx, "user-abc-123")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.users().retrieve("user-abc-123");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->users->retrieve('user-abc-123');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.users.retrieve("user-abc-123")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Users.RetrieveAsync("user-abc-123");
Console.WriteLine(JsonSerializer.Serialize(result));{
"didit_internal_id": "f4e5e1f2-94a9-4f86-8c16-2b7d9b4db418",
"vendor_data": "user-abc-123",
"display_name": null,
"full_name": "John Michael Doe",
"date_of_birth": "1990-05-15",
"effective_name": "John Michael Doe",
"status": "ACTIVE",
"metadata": {
"tier": "premium",
"source": "website"
},
"portrait_image_url": "https://<media-host>/...",
"session_count": 3,
"approved_count": 2,
"declined_count": 0,
"in_review_count": 1,
"issuing_states": [
"USA"
],
"approved_emails": [
"john@example.com"
],
"approved_phones": [
"+14155551234"
],
"features": {
"ID_VERIFICATION": "Approved",
"LIVENESS": "Approved",
"FACE_MATCH": "Approved",
"AML": "Approved"
},
"features_list": [
{
"feature": "ID_VERIFICATION",
"status": "Approved"
},
{
"feature": "LIVENESS",
"status": "Approved"
},
{
"feature": "FACE_MATCH",
"status": "Approved"
},
{
"feature": "AML",
"status": "Approved"
}
],
"last_session_at": "2025-06-15T10:30:00Z",
"last_activity_at": "2025-06-15T10:30:00Z",
"first_session_at": "2025-06-01T08:00:00Z",
"tags": [
{
"uuid": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"tag": {
"uuid": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
"name": "VIP",
"color": "#2567FF",
"description": null,
"source": "custom",
"created_at": "2025-05-01T09:00:00Z",
"updated_at": "2025-05-01T09:00:00Z"
},
"added_by_email": "analyst@acme.com",
"added_by_name": "Jane Analyst",
"created_at": "2025-06-02T11:00:00Z"
}
],
"comments": [
{
"uuid": "c1111111-2222-4333-8444-555555555555",
"comment_type": "STATUS_CHANGED",
"comment": null,
"actor_email": "analyst@acme.com",
"actor_name": "Jane Analyst",
"previous_status": "FLAGGED",
"new_status": "ACTIVE",
"previous_value": null,
"new_value": null,
"changed_fields": [],
"metadata": null,
"mentioned_emails": [],
"created_at": "2025-06-01T10:30:00Z"
}
],
"created_at": "2025-06-01T08:00:00Z",
"updated_at": "2025-06-15T10:30:00Z"
}{
"detail": "You must be authenticated with a valid access token to access this endpoint."
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Not found."
}{
"detail": "Request was throttled. Expected available in 30 seconds."
}ユーザー取得API:ベンダーユーザーエンティティ
Didit のベンダーユーザーを vendor_data で1件取得します。本人確認フィールド、ステータス、KYCカウンター、機能マップを返します。KYCの本人情報を永続的に保持し、呼び出しごとの従量課金です。
curl -X GET 'https://verification.didit.me/v3/users/user-abc-123/' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.users.retrieve(
"user-abc-123",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.users.retrieve("user-abc-123");
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Users.Retrieve(ctx, "user-abc-123")
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.users().retrieve("user-abc-123");
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->users->retrieve('user-abc-123');
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.users.retrieve("user-abc-123")
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Users.RetrieveAsync("user-abc-123");
Console.WriteLine(JsonSerializer.Serialize(result));{
"didit_internal_id": "f4e5e1f2-94a9-4f86-8c16-2b7d9b4db418",
"vendor_data": "user-abc-123",
"display_name": null,
"full_name": "John Michael Doe",
"date_of_birth": "1990-05-15",
"effective_name": "John Michael Doe",
"status": "ACTIVE",
"metadata": {
"tier": "premium",
"source": "website"
},
"portrait_image_url": "https://<media-host>/...",
"session_count": 3,
"approved_count": 2,
"declined_count": 0,
"in_review_count": 1,
"issuing_states": [
"USA"
],
"approved_emails": [
"john@example.com"
],
"approved_phones": [
"+14155551234"
],
"features": {
"ID_VERIFICATION": "Approved",
"LIVENESS": "Approved",
"FACE_MATCH": "Approved",
"AML": "Approved"
},
"features_list": [
{
"feature": "ID_VERIFICATION",
"status": "Approved"
},
{
"feature": "LIVENESS",
"status": "Approved"
},
{
"feature": "FACE_MATCH",
"status": "Approved"
},
{
"feature": "AML",
"status": "Approved"
}
],
"last_session_at": "2025-06-15T10:30:00Z",
"last_activity_at": "2025-06-15T10:30:00Z",
"first_session_at": "2025-06-01T08:00:00Z",
"tags": [
{
"uuid": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"tag": {
"uuid": "e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b",
"name": "VIP",
"color": "#2567FF",
"description": null,
"source": "custom",
"created_at": "2025-05-01T09:00:00Z",
"updated_at": "2025-05-01T09:00:00Z"
},
"added_by_email": "analyst@acme.com",
"added_by_name": "Jane Analyst",
"created_at": "2025-06-02T11:00:00Z"
}
],
"comments": [
{
"uuid": "c1111111-2222-4333-8444-555555555555",
"comment_type": "STATUS_CHANGED",
"comment": null,
"actor_email": "analyst@acme.com",
"actor_name": "Jane Analyst",
"previous_status": "FLAGGED",
"new_status": "ACTIVE",
"previous_value": null,
"new_value": null,
"changed_fields": [],
"metadata": null,
"mentioned_emails": [],
"created_at": "2025-06-01T10:30:00Z"
}
],
"created_at": "2025-06-01T08:00:00Z",
"updated_at": "2025-06-15T10:30:00Z"
}{
"detail": "You must be authenticated with a valid access token to access this endpoint."
}{
"detail": "You do not have permission to perform this action."
}{
"detail": "Not found."
}{
"detail": "Request was throttled. Expected available in 30 seconds."
}概要
vendor_dataをキーとして、単一のユーザーエンティティを返します。レスポンスには、Diditの安定した内部識別子であるdidit_internal_idが含まれます。
使用するタイミング
- 確認: ユーザーの現在の認証状態を確認します。
featuresマップには、すべての機能の最新ステータスが1つのオブジェクトにまとめられています。 - 詳細ビュー: 自社のUIで表示する前に、必要に応じてプロフィールを取得します。
- リスクスコアリング: セッションのカウンターと
featuresを組み合わせて、自社側で各ユーザーをスコアリングします。
注意事項
- URL内の
vendor_dataは大文字と小文字が区別されます。 - その
vendor_dataを持つユーザーがアプリケーション内に存在しない場合は404を返します。 - 集計カウンター(
session_count、approved_count、declined_count、in_review_count)は、セッションの完了に合わせてリアルタイムで更新されます。 - すべてのフィールドについてはユーザーのデータモデルを参照してください。
権限
アプリケーションの有効なAPIキーであれば、どれでもこのエンドポイントを呼び出せます。DiditのAPIキーは 役割単位ではなく、アプリケーション単位です。Consoleの役割と権限 (read:usersなど)は、Consoleで人が何をできるかを決めるものであり、Management APIのトラフィックに対しては
評価されません。このエンドポイントを呼び出せる人を制御するには、アプリケーションのAPIキーを
閲覧できる人を制御してください。
関連情報
承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
パスパラメータ
ユーザーに対するお客様独自の識別子です。自由形式の文字列(UUIDではありません)です。このユーザーを最初に登録したセッションの作成時にvendor_dataとして渡した値と同じで、送信されたとおりに完全一致で照合されます。
レスポンス
メタデータ、コメント/アクティビティログ、集計されたセッションデータを含むユーザーの完全な詳細。
ユーザーの完全な詳細。UserListItemを拡張し、メタデータ、コメント、updated_atを追加します。
このユーザーに対するDiditの安定した内部UUIDです。
このユーザーに対するお客様独自の識別子です(セッション作成時に渡されたもの)。ベンダー識別子が指定されなかった場合はnullになることがあります。
お客様が設定したカスタム表示名
認証済みの書類から抽出された氏名
利用可能な最適な名前:display_nameが設定されていればそれを、設定されていなければfull_nameを使用
ユーザーレコードのライフサイクルステータス(セッションのステータスではありません)。ACTIVEがデフォルトで、FLAGGEDはユーザーを手動での確認対象としてマークし、BLOCKEDはこのvendor_dataでの新規セッションを禁止します。
ACTIVE, FLAGGED, BLOCKED ユーザーの顔写真の署名付きURL(数時間後に期限切れ)
このユーザーの認証セッションの総数
承認済みセッションの数
却下されたセッションの数
レビュー中のセッション数
このユーザーの承認済み身分証明書類で確認された発行国のISO 3166-1 alpha-3コード。例: ["USA", "ESP"]。該当がない場合は空の配列です。
このユーザーの承認済みセッションから収集された認証済みメールアドレス。例: ["john@example.com"]。
このユーザーの承認済みセッションから収集された認証済み電話番号。例: ["+14155551234"]。
このユーザーのすべてのセッションを通じた、機能ごとの集計ステータスです。取り得るキーはID_VERIFICATION、NFC、LIVENESS、FACE_MATCH、POA、QUESTIONNAIRE、EMAIL_VERIFICATION、PHONE、AML、IP_ANALYSIS、AGE_ESTIMATION、DATABASE_VALIDATIONです。取り得る値はApproved、Declined、In Review、Not Finished、Resub Requestedです。
featuresと同じデータを、{feature, status}オブジェクトの順序付き配列で表したもの。
Show child attributes
Show child attributes
直近のセッションの日時
最初のセッションの日時
このユーザーの直近のアクティビティ(セッション、取引、ステータス変更、データ編集など)の日時。
タグの割り当て。注意: 詳細レスポンスでは、各エントリはタグのリンクオブジェクト({uuid, tag: {...}, added_by_email, added_by_name, created_at})であり、一覧レスポンスで使われるフラットな{uuid, name, color}形式とは異なります。
Show child attributes
Show child attributes
このユーザーに付加したカスタムメタデータJSON。デフォルトは{}です。
このユーザーのアクティビティログとコメント(ステータスの変更、プロフィールの編集、手動メモ)。
Show child attributes
Show child attributes