Перейти к основному содержанию
PATCH
curl

Поддержка KYC и KYB

Этот эндпоинт работает одинаково для сессий Проверка пользователей (KYC) и Верификация бизнеса (KYB). Didit сопоставляет session_id с сессиями обоих типов. Проверка переходов между статусами одинакова для обоих типов, потому что для них действует один и тот же набор статусов. Ответ содержит только session_id. Если вашей последующей логике нужно разделять сессии по типу, считайте session_kind из Получение сессии.

Допустимые переходы

Вы можете перевести сессию в статус Approved, Declined или Resubmitted. Любое другое значение new_status, включая In Review, возвращает 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 секунд возвращает 429 Too Many Requests с заголовком Retry-After, поскольку немедленный повтор не может дать другой результат. Не запускайте повторную подачу автоматически из обработчика webhook каждый раз, когда получаете статус In Review. Сначала разберите результат или измените исходные данные.

Предварительный просмотр письма

Если указано send_email: true, для Approved и Declined человеку отправляется письмо с решением, а для Resubmitted отправляется новая ссылка с причинами. Вы можете просмотреть это письмо до того, как что-либо изменить:
  1. Вызовите Предварительный просмотр письма о решении для Approved или Declined либо Предварительный просмотр письма о повторной подаче для Resubmitted.
  2. Проверьте отрисованные subject и html, recipient, а также will_be_sent / not_sent_reason.
  3. Вызовите этот эндпоинт с тем же new_status (а для повторной подачи также с тем же nodes_to_resubmit), send_email: true, значением email_address, равным recipient, значением email_language, которое вы предварительно просмотрели, и email_preview_token, равным preview_token.
Ни один из предварительных просмотров не меняет сессию и ничего не отправляет. Обновление отправляет именно то письмо, которое вы просмотрели. Квитанция истекает через 15 минут. Если получатель, язык, статус сессии, отправитель или письмо изменились после просмотра, обновление возвращает 409 до того, как что-либо изменится. Повторите предварительный просмотр и подтвердите действие с новой квитанцией. Передача email_preview_token без send_email: true возвращает 400. Шаг предварительного просмотра необязателен: существующие интеграции могут продолжать вызывать этот эндпоинт без него.

Примеры

Разрешение

Требуется привилегия write:sessions. Одна и та же привилегия действует для обоих типов сессий.

Связанные материалы

Авторизации

x-api-key
string
header
обязательно

API-ключ вашего приложения из раздела «Разработчикам» -> «API-ключи» в Business Console. Основной ключ имеет полный доступ. Именованный ключ может иметь ограниченную область действия: без доступа, чтение или запись для каждого ресурса, ограничение определенными сценариями или одобренными сессиями, списком IP-адресов и сроком действия. 401 означает, что ключ неверен, отозван или его срок действия истек; 403 означает, что ключ не был передан, у ключа нет доступа к этому ресурсу или действию, либо запрос поступил с адреса вне его списка IP-адресов; 404 на маршруте сессии означает, что сессия не входит в сценарии или статусы ключа. Ключ без доступа к медиа получает URL изображений, видео и PDF как null, а ключ без прав на запись сессий получает ссылки на сессии и токены как null. См. https://docs.didit.me/console/api-keys.

Параметры пути

sessionId
string<uuid>
обязательно

UUID сессии верификации для обновления. Принимает ID сессий как пользователей (KYC), так и компаний (KYB) — сервис сопоставляет ID для обоих типов сессий.

Пример:

"11111111-2222-3333-4444-555555555555"

Тело

application/json
new_status
enum<string>
обязательно

Целевой статус. Approved и Declined фиксируют окончательное ручное решение (каждое из них также может отменить другое). Resubmitted очищает выбранные шаги и возвращает сессию пользователю. Любое другое значение возвращает 400.

Доступные опции:
Approved,
Declined,
Resubmitted
Пример:

"Approved"

comment
string

Причина изменения в виде произвольного текста, сохраняемая в журнале проверок сессии и возвращаемая в массиве reviews ответа метода Get Decision. Например, Duplicated user.

Пример:

"All checks passed manual review"

nodes_to_resubmit
object[]

Шаги сценария, которые пользователь должен повторить. Обрабатываются только тогда, когда new_status имеет значение Resubmitted. Для Approved/Declined записи всё равно проходят валидацию по схеме (недопустимое значение feature возвращает 400), но корректные по схеме записи семантически игнорируются. Если параметр опущен, сервер автоматически выбирает существующие попытки OCR, Проверки живости, Сравнения лиц, POA, Проверки телефона, Проверки электронной почты, AML, Проверки по базам данных и Анкет со статусом Declined, In Review, Not Finished или Expired (попытки NFC, анализа IP, оценки возраста, поиска по лицу и документов KYB никогда не выбираются автоматически; попытки проверки лица, не относящиеся к сравнению лиц, выбираются как LIVENESS) — функции, которые пользователь ни разу не пытался выполнить (нет записанных попыток), НЕ выбираются, поэтому сессия с нулём попыток возвращает 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

Необязательное подтверждение из запроса Предпросмотр email с решением (для Approved и Declined) или Предпросмотр email для повторной отправки (для Resubmitted): его preview_token. Действительно только при send_email: true; без этого запрос возвращает 400. Получатель, язык, статус сессии, отправитель и email (а для повторной отправки также выбранные шаги) должны по-прежнему совпадать с предпросмотром, а срок действия подтверждения истекает через 15 минут. В противном случае запрос возвращает 409 до изменения сессии или отправки email. Существующие интеграции могут опустить это поле.

Required string length: 1 - 512

Ответ

Статус обновлен. Ответ содержит только session_id; получите обновленную сессию через Get Decision. Webhook status.updated срабатывает после фиксации изменения. Повторная отправка Approved или Declined возвращает то же тело ответа и ничего не меняет.

session_id
string<uuid>

UUID обновлённой сессии.

Последнее изменение 7 ноября 2026 г.