メインコンテンツへスキップ
PATCH
curl

KYCとKYBのサポート

このエンドポイントは、本人確認(KYC)セッションでも法人確認 (KYB)セッションでもまったく同じように動作します。Diditはsession_idを両方のセッション種別について解決します。ステータス遷移の検証も両者で共通です(同じステータスの列挙値が両方に適用されます)。 レスポンスに含まれるのはsession_idのみです。 後続の処理で種別ごとに分岐する必要がある場合は、Retrieve Sessionからsession_kindを取得してください。

許可される遷移

セッションのステータスはApproved、Declined、Resubmittedのいずれかに変更できます。 In Reviewを含め、それ以外のnew_statusを指定すると400が返されます。 セッションの現在のステータスはApproved、Declined、In Review、Kyc Expired、Abandoned、Resubmittedのいずれかである必要があります。それ以外の場合、APIは400を返します。 すでにApprovedまたはDeclinedのセッションに同じステータスを設定しても何も起こりません。APIは200を返しますが、何も変更せず、Webhookも発火せず、メールも送信しません。 すでにResubmittedのセッションにResubmittedを設定すると、400(The new status is the same as the current status.)が返されます。 nodes_to_resubmitにバックエンド専用の機能(AML、DATABASE_VALIDATION、IP_ANALYSIS)しか含まれない再提出は自動的に実行され、ユーザーの操作なしにセッションが判定済みのステータスに戻ります。 このような再提出を30秒以内に繰り返すと、Retry-Afterヘッダー付きで429 Too Many Requestsが返されます。直後に繰り返しても異なる結果にはならないためです。 In Reviewステータスを受信するたびにWebhookハンドラーから自動で再提出しないでください。まず検出内容をレビューするか、基となるデータを変更してください。

事前にメールをプレビューする

send_email: trueを指定すると、ApprovedとDeclinedでは本人に判定結果のメールが送信され、Resubmittedでは理由を添えた新しいリンクが送信されます。 何かを変更する前に、そのメールを確認できます。
  1. ApprovedまたはDeclinedの場合はPreview Decision Emailを、Resubmittedの場合はPreview Resubmission Emailを呼び出します。
  2. レンダリングされたsubjectとhtml、recipient、およびwill_be_sent / not_sent_reasonを確認します。
  3. 同じnew_status(再提出の場合は同じnodes_to_resubmitも)、send_email: true、recipientを設定したemail_address、プレビューしたemail_language、preview_tokenを設定したemail_preview_tokenを指定して、このエンドポイントを呼び出します。
どちらのプレビューもセッションを変更せず、何も送信しません。 その後の更新では、プレビューしたメールがそのまま送信されます。 この確認情報は15分後に期限切れになります。 プレビュー後に受信者、言語、セッションステータス、送信者、またはメールが変更された場合、更新は何かが変更される前に409を返します。もう一度プレビューし、新しい確認情報を使用して確定してください。 send_email: trueを指定せずにemail_preview_tokenを送信すると、400が返されます。 プレビューのステップは任意です。既存の連携では、プレビューなしでこのエンドポイントを引き続き呼び出せます。

例

権限

write:sessions権限が必要です。同じ権限で両方の種類を利用できます。

関連ページ

承認

x-api-key
string
header
必須

お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys

パスパラメータ

sessionId
string<uuid>
必須

更新する検証セッションのUUID。ユーザー(KYC)と企業(KYB)の両方のセッションIDを受け付けます。サービスは両方のセッションタイプにわたってIDを解決します。

例:

"11111111-2222-3333-4444-555555555555"

ボディ

application/json
new_status
enum<string>
必須

変更後のステータス。ApprovedとDeclinedは最終的な手動判定を記録します(それぞれ互いを覆すこともできます)。Resubmittedは選択したステップをクリアし、セッションをユーザーに差し戻します。それ以外の値は400を返します。

利用可能なオプション:
Approved,
Declined,
Resubmitted
例:

"Approved"

comment
string

変更理由の自由記述。セッションのレビュー履歴に保存され、Get Decisionのreviews配列で返されます。例: Duplicated user。

例:

"All checks passed manual review"

nodes_to_resubmit
object[]

ユーザーがやり直す必要のあるワークフローステップ。new_statusがResubmittedの場合にのみ処理されます。Approved/Declinedの場合もエントリーはスキーマ検証されます(無効なfeature値は400を返します)が、スキーマ上有効なエントリーは意味上無視されます。省略した場合、サーバーはステータスがDeclined、In Review、Not Finished、Expiredのいずれかである既存のOCR、ライブネス検知、顔照合、POA、電話番号検証、メールアドレス認証、AML、データベース検証、アンケートの試行を自動で選択します(NFC、IP分析、年齢推定、顔検索、KYB書類の試行は自動選択されません。顔照合以外の顔の試行はLIVENESSとして選択されます)。ユーザーが一度も試行していない機能(試行の記録がないもの)は選択されません。そのため、試行が0件のセッションでは、何も承認されていなくても400("No features found that need resubmission")が返されます。その場合はnodes_to_resubmitを明示的に指定してください。ステップは送信した順序に関係なく、ワークフローグラフの順序で実行されます。KYB_REGISTRY、KYB_KEY_PEOPLE、およびKYBエイリアスは400で拒否されます。これらの親チェックは子KYCセッションから再計算されるためです。

send_email
boolean
デフォルト:false

変更についてユーザーにメールで通知するかどうか。email_addressが必要です。Approved/Declinedの場合、ユーザーにはステータスの通知が届きます。Resubmittedの場合、メールには認証リンクとステップごとの再提出理由が含まれます。

例:

false

email_address
string<email>

通知メールの受信者。send_emailがtrueの場合は必須です。省略すると400が返されます。

例:

"user@example.com"

email_language
string
デフォルト:en

通知メールの言語。スキーマ上は任意の文字列を受け付けますが、対応していないコードは通知なく英語(en)にフォールバックします。

例:

"en"

email_preview_token
string
write-only

判定メールのプレビュー(ApprovedおよびDeclinedの場合)または再提出メールのプレビュー(Resubmittedの場合)で受け取る任意のレシート、つまりそのpreview_tokenです。send_email: trueの場合にのみ有効で、これを指定しない場合、リクエストは400を返します。受信者、言語、セッションのステータス、送信者、メール(再提出の場合は選択したステップも)が引き続きプレビューと一致している必要があり、レシートは15分後に失効します。一致しない場合、セッションが変更されたりメールが送信されたりする前に、リクエストは409を返します。既存の連携ではこのフィールドを省略できます。

Required string length: 1 - 512

レスポンス

ステータスが更新されました。レスポンスにはsession_idのみが含まれます。更新後のセッションはGet Decisionで取得してください。変更がコミットされるとstatus.updatedのWebhookが送信されます。ApprovedまたはDeclinedを繰り返し指定しても、同じレスポンス本文が返され、何も変更されません。

session_id
string<uuid>

更新されたセッションのUUID。

最終更新日 2026年11月1日