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

Авторизации

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.

Тело

multipart/form-data
front_image
file
обязательно

Лицевая сторона документа, удостоверяющего личность. Допустимые расширения: tiff, jpg, jpeg, png, webp, pdf. Максимальный размер загружаемого файла: 10 MB (файлы большего размера отклоняются с ошибкой 400). PDF-файлы преобразуются в изображение перед OCR; для зашифрованных PDF требуется front_image_password. Изображения автоматически сжимаются примерно до 0.5 MB, и применяется ориентация EXIF. Загружайте полный необрезанный снимок, на котором видны все четыре угла документа.

front_image_password
string
write-only

Пароль для расшифровки front_image, если это зашифрованный PDF-файл. Передача зашифрованного PDF без пароля (или с неверным паролем) возвращает 400.

back_image
file

Обратная сторона документа — отправляйте её всегда, когда она есть у документа (многие ID-карты содержат MRZ или штрихкод на обороте; если её опустить, поля MRZ и обратной стороны в ответе останутся пустыми — этот endpoint не выдаёт предупреждение об отсутствии MRZ). Те же ограничения по формату и размеру, что и для front_image. Если поле опущено, back_image и поля обратной стороны в ответе будут null.

back_image_password
string
write-only

Пароль для расшифровки back_image, если это зашифрованный PDF-файл.

perform_document_liveness
boolean
по умолчанию:true

Проверяет оба изображения на мошенничество при предъявлении: пересъёмку с экрана (SCREEN_CAPTURE_DETECTED), печатные копии (PRINTED_COPY_DETECTED) и манипуляции с портретом (PORTRAIT_MANIPULATION_DETECTED). Любое из них приводит к автоматическому отклонению. Включено по умолчанию; установите значение false, чтобы пропустить проверку на мошенничество и сократить задержку. Если проверка включена, но провайдер не возвращает пригодную для использования оценку, возвращается статус In Review с предупреждением DOCUMENT_LIVENESS_NOT_COMPUTED вместо Approved.

Пример:

true

minimum_age
integer | null

Принимается и валидируется (1–120), но в настоящее время не применяется этим endpoint — по этому полю никогда не создаётся предупреждение MINIMUM_AGE_NOT_MET. Применяйте правила возраста на основе возвращаемых date_of_birth/age или используйте сценарий сессии верификации с возрастными ограничениями.

Требуемый диапазон: 1 <= x <= 120
expiration_date_not_detected_action
enum<string>
по умолчанию:NO_ACTION

Действие, если не удаётся прочитать срок действия (EXPIRATION_DATE_NOT_DETECTED). По умолчанию NO_ACTION, так как во многих документах срок действия не указывается. Примечание: обнаруженный и истёкший срок действия всегда приводит к отклонению (DOCUMENT_EXPIRED) независимо от этой опции.

Доступные опции:
NO_ACTION,
DECLINE
invalid_mrz_action
enum<string>
по умолчанию:DECLINE

Что делать, если извлеченная MRZ не проходит проверку контрольных цифр (MRZ_VALIDATION_FAILED). Отсутствие MRZ на этом endpoint не вызывает предупреждения. Актуально только для документов, содержащих MRZ. Значение REVIEW не поддерживается на этом endpoint и возвращает 400.

Доступные опции:
NO_ACTION,
DECLINE
inconsistent_data_action
enum<string>
по умолчанию:DECLINE

Действие при внутренней несогласованности извлечённых данных: DATA_INCONSISTENT, MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME (визуальная зона расходится с MRZ) или DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS.

Доступные опции:
NO_ACTION,
DECLINE
critical_field_occlusion_action
enum<string>
по умолчанию:DECLINE

Действие при физическом перекрытии важного печатного поля на снимке (CRITICAL_FIELD_OCCLUSION_DETECTED) - номера удостоверения личности, имени, даты рождения или срока действия. По умолчанию отклоняет, как и при других рисках целостности документа на этом endpoint: скрытие номеров, с которыми сверяется отчёт, указывает на отредактированный документ. Считанное значение скрытого поля в любом случае удаляется из извлечённых данных, поэтому ему обычно сопутствует предупреждение *_NOT_DETECTED. Значение REVIEW не поддерживается на этом endpoint и возвращает 400.

Доступные опции:
NO_ACTION,
DECLINE
document_or_personal_number_format_mismatch_action
enum<string>
по умолчанию:NO_ACTION

Действие, если номер не соответствует формату органа выдачи для данного типа документа (DOCUMENT_NUMBER_FORMAT_MISMATCH, PERSONAL_NUMBER_FORMAT_MISMATCH). По умолчанию NO_ACTION, что регистрирует предупреждение без изменения статуса. REVIEW не поддерживается на этом endpoint и возвращает 400.

Доступные опции:
NO_ACTION,
DECLINE
preferred_characters
enum<string>
по умолчанию:latin

Предпочтительная система письма для полей имени/адреса в документах, содержащих текст как на латинице, так и не на латинице (арабский, кириллица, CJK, …). latin возвращает транслитерированные/латинские значения; non_latin отдаёт предпочтение оригинальной системе письма.

Доступные опции:
latin,
non_latin
save_api_request
boolean
по умолчанию:true

Если true (по умолчанию), сохраняет вызов как сессию типа API — видимую в Business Console, доступную через GET /v3/session/{sessionId}/decision/ по возвращённому request_id, анонсируемую через webhook status.updated, с возвратом изображений документов в виде URL-адресов медиа. Если false, ничего не сохраняется, request_id является временным UUID, а изображения возвращаются встроенными в виде строк base64 JPEG.

Пример:

true

vendor_data
string

Необязательная непрозрачная строка (ваш внутренний идентификатор пользователя, email, UUID…), сохраняемая в сессии и возвращаемая в ответе. Используйте её для сопоставления вызовов API с вашими собственными записями и для последующей фильтрации сессий.

Пример:

"user-123"

metadata
object

Необязательный объект JSON, сохраняемый вместе с сессией (когда save_api_request=true) и возвращаемый обратно в ответе. В multipart-запросах отправляйте его как строковое поле в формате JSON (например, metadata={"flow":"onboarding"}) — он парсится в объект.

Пример:

Ответ

Документ обработан. Значение id_verification.status: Approved, Declined или In Review; каждая обнаруженная проблема детализирована в id_verification.warnings. Статус In Review возвращается, когда запрошенная проверка живости документа не дала пригодного результата (DOCUMENT_LIVENESS_NOT_COMPUTED). Для проблемного документа по-прежнему возвращается 200 со статусом status: "Declined": проверяйте тело ответа, а не только HTTP-код. Если save_api_request=true, request_id представляет собой сохранённый id сессии, а поля изображений являются временными URL медиафайлов; при save_api_request=false они передаются как встроенные base64-строки JPEG.

request_id
string<uuid>

Идентификатор сохраненной сессии при save_api_request=true (доступен для использования с GET /v3/session/{sessionId}/decision/); в противном случае это временный корреляционный UUID.

id_verification
object
vendor_data
string | null

Эхо-значение переданного вами vendor_data или null.

metadata
object | null

Эхо-значение переданного вами объекта metadata или null.

created_at
string<date-time>

Временная метка ISO 8601 (UTC) момента генерации ответа.

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