Use theseDocumentation Index
Fetch the complete documentation index at: https://docs.didit.me/llms.txt
Use this file to discover all available pages before exploring further.
config fields inside each item of the features array for POST /v3/workflows/ and PATCH /v3/workflows/{settings_uuid}/.
features array. Send features in the exact execution order.
Validation rules
OCRdefaults to all supported countries and document types whenconfig.documents_allowedis omitted,null, or{}. If you send a customdocuments_allowedobject, it must contain at least one valid country and one enabled document type.QUESTIONNAIRErequiresconfig.questionnaire_uuid.KYB_DOCUMENTSrequiresconfig.kyb_required_document_groups.FACE_MATCHmust come afterOCRin simple workflow requests.NFC,DATABASE_VALIDATION, and personAMLrequireOCRwhen they appear in the same workflow.- KYB sub-features such as
KYB_DOCUMENTSandKYB_KEY_PEOPLErequireKYB_REGISTRYearlier in the workflow. - Action fields use
DECLINE,REVIEW, orNO_ACTIONunless the field below says it is restricted. - Score and threshold fields are numbers from
0to100unless a narrower range is listed.
Common status rules
Every feature supports an optionalstatus_rules array. Use it to override the feature status when a field condition matches.
| Field | Type | Description |
|---|---|---|
field | string | Field path to check, such as kyc.issuing_state or kyc.document_type. |
operator | string | One of equals, not_equals, greater_than, greater_than_or_equals, less_than, less_than_or_equals, contains, not_contains, in, not_in, is_empty, is_not_empty, regex. |
value | any | Comparison value. Omit or send null for operators that do not need a value. |
status | string | One of Approved, Declined, In Review, or No Action. |
value_type | string | Optional. literal by default. Use field to compare against another field or list to resolve a Didit list UUID at runtime. |
OCR / ID Verification
Feature value:OCR.
| Config field | Type | Description |
|---|---|---|
documents_allowed | object | Optional. Omit it, send null, or send {} to allow every supported country and document type. Send an ISO3 country code to document type config only when you want to restrict allowed documents. At least one custom document must have enabled: 1. Document types include P, ID, DL, RP, HIC, and other country-supported values. |
document_blur_fields_by_country | object | ISO3 country code to blur field names to redact on document images. |
image_capture_methods_allowed | string[] | Allowed capture methods. Values include CAMERA_SCAN and UPLOAD. |
duplicated_user_action | action | Action for a duplicated user. |
is_age_restrictions_enabled | boolean | Enables minimum and maximum age checks. |
age_restrictions_by_country | object | ISO3 country code to an age config with minimum_age, optional maximum_age, and optional states. |
minimum_age | integer | Global minimum age, 1 to 120. |
minimum_age_action | action | Action when the user is below minimum_age. |
maximum_age | integer | Global maximum age, 1 to 120. |
maximum_age_action | action | Action when the user is above maximum_age. |
expiration_date_not_detected_action | action | Action when the document expiration date is missing. |
invalid_code_action | action | Action when a barcode or machine-readable code is invalid. |
invalid_mrz_action | action | Action when the MRZ is invalid. |
inconsistent_data_action | action | Action when extracted document fields conflict. |
invalid_validation_action | action | Action when document validation fails. |
expected_details_mismatch_action | action | Action when expected user details do not match the document. |
portrait_replacement_action | action | Action when portrait replacement is detected. |
printed_copy_action | action | Action when the document appears to be a printed copy. |
screen_capture_action | action | Action when the document appears to be captured from a screen. |
image_too_blurry_action | action | Action for blurry document images. |
image_too_dark_action | action | Action for dark document images. |
image_too_bright_action | action | Action for overexposed document images. |
unparsed_address_action | action | Action when the document address cannot be parsed. |
document_or_personal_number_format_mismatch_action | action | Action when document or personal number format does not match the expected pattern. |
is_document_selfie_portrait_match_enabled | boolean | Enables document portrait to selfie comparison. |
document_selfie_portrait_match_decline_threshold | integer | Decline threshold for document portrait to selfie match. |
document_selfie_portrait_match_review_threshold | integer | Review threshold for document portrait to selfie match. |
id_verification_name_match_score_threshold | integer | Name match threshold across multiple ID verifications. |
id_verification_max_retry_attempts | integer | Retry limit for ID verification, 2 to 5. |
status_rules | array | Optional custom status rules. |
NFC / ePassport
Feature value:NFC.
| Config field | Type | Description |
|---|---|---|
allow_nfc_skip | boolean | Allows users to skip NFC when their document supports chip reading. |
skip_nfc_action | action | Action when the user skips NFC. |
unverified_chip_action | action | Action when chip verification fails. |
status_rules | array | Optional custom status rules. |
Liveness
Feature value:LIVENESS.
| Config field | Type | Description |
|---|---|---|
face_liveness_method | string | One of ACTIVE_3D, FLASHING, or PASSIVE. |
face_liveness_mode | string | Liveness mode override. |
face_liveness_flash_mode | string | Flash liveness mode override. |
face_liveness_score_decline_threshold | integer | Decline threshold. |
face_liveness_score_review_threshold | integer | Review threshold. |
face_liveness_possible_duplicated_face_action | action | Action when the face may be duplicated. |
face_liveness_multiple_faces_action | action | Action when multiple faces are detected. |
race_map_similarity_thresholds | object | Per-demographic similarity thresholds. |
face_privacy_mode_enabled | boolean | Enables privacy mode for face assets. |
face_quality_review_threshold | integer | Review threshold for face image quality. |
face_quality_decline_threshold | integer | Decline threshold for face image quality. Must be less than or equal to the review threshold. |
face_luminance_min_threshold | integer | Minimum luminance threshold. Must be lower than face_luminance_max_threshold. |
face_luminance_min_action | action | Action when luminance is too low. |
face_luminance_max_threshold | integer | Maximum luminance threshold. |
face_luminance_max_action | action | Action when luminance is too high. |
status_rules | array | Optional custom status rules. |
Face Match
Feature value:FACE_MATCH.
| Config field | Type | Description |
|---|---|---|
face_match_score_decline_threshold | integer | Decline threshold. |
face_match_score_review_threshold | integer | Review threshold. |
status_rules | array | Optional custom status rules. |
Age Estimation
Feature value:AGE_ESTIMATION.
| Config field | Type | Description |
|---|---|---|
enable_id_verification_fallback | boolean | Runs ID Verification when age estimation lands in the borderline range. |
minimum_age_threshold | integer | Minimum accepted age, 1 to 100. |
borderline_minimum_age_threshold | integer | Lower bound for the borderline range, 1 to 100. |
borderline_maximum_age_threshold | integer | Upper bound for the borderline range, 1 to 100. |
face_liveness_method | string | One of ACTIVE_3D, FLASHING, or PASSIVE. |
face_liveness_score_decline_threshold | number | Decline threshold for the liveness check used by age estimation. |
face_liveness_score_review_threshold | number | Review threshold for the liveness check used by age estimation. |
face_liveness_possible_duplicated_face_action | action | Action when the face may be duplicated. |
face_liveness_multiple_faces_action | action | Action when multiple faces are detected. |
face_privacy_mode_enabled | boolean | Enables privacy mode for face assets. |
face_quality_review_threshold | integer | Review threshold for face quality. |
face_quality_decline_threshold | integer | Decline threshold for face quality. |
face_luminance_min_threshold | integer | Minimum luminance threshold. |
face_luminance_min_action | action | Action when luminance is too low. |
face_luminance_max_threshold | integer | Maximum luminance threshold. |
face_luminance_max_action | action | Action when luminance is too high. |
status_rules | array | Optional custom status rules. |
Phone Verification
Feature value:PHONE_VERIFICATION.
| Config field | Type | Description |
|---|---|---|
code_size | integer | OTP size, 4 to 8. |
phone_max_retries | integer | Maximum send retries, 1 to 5. |
phone_max_check_attempts | integer | Maximum OTP check attempts, 1 to 5. |
phone_verification_countries | object | ISO2 country code to channel config. Example: { "US": { "sms": { "enabled": true } } }. |
disposable_number_action | action | Action for disposable numbers. |
voip_number_action | action | Action for VoIP numbers. |
duplicated_phone_number_action | action | Action for duplicated phone numbers. |
phone_shared_device_mode | boolean | Allows shared-device phone verification mode. |
status_rules | array | Optional custom status rules. |
Email Verification
Feature value:EMAIL_VERIFICATION.
| Config field | Type | Description |
|---|---|---|
email_code_size | integer | OTP size, 4 to 8. |
email_max_retries | integer | Maximum send retries, 1 to 5. |
email_max_check_attempts | integer | Maximum OTP check attempts, 1 to 5. |
email_alphanumeric_code | boolean | Uses alphanumeric email codes. |
breached_email_action | action | Action for breached emails. |
disposable_email_action | action | Action for disposable emails. |
duplicated_email_action | action | Action for duplicated emails. |
only_corporate_emails_allowed | boolean | Rejects non-corporate email addresses. |
status_rules | array | Optional custom status rules. |
Database Validation
Feature value:DATABASE_VALIDATION.
| Config field | Type | Description |
|---|---|---|
database_validation_countries | object | ISO3 country code to { "services": ["service_id"] }. Use service IDs from the Database Validation catalog. |
database_validation_partial_match_action | action | Action when database validation returns a partial match. |
database_validation_no_match_action | action | Action when database validation returns no match. |
status_rules | array | Optional custom status rules. |
AML
Feature value:AML.
For KYC person screening, use these fields:
| Config field | Type | Description |
|---|---|---|
is_aml_ongoing_monitoring_enabled | boolean | Enables ongoing AML monitoring. |
aml_score_approve_threshold | integer | Approve threshold. |
aml_score_review_threshold | integer | Review threshold. |
aml_match_score_threshold | integer | Match score threshold for possible matches. |
aml_name_weight | integer | Name weight. If any AML weight is provided, name, DOB, and country weights must sum to 100. |
aml_dob_weight | integer | Date of birth weight. |
aml_country_weight | integer | Country weight. |
status_rules | array | Optional custom status rules. |
| Config field | Type | Description |
|---|---|---|
kyb_score_approve_threshold | integer | Company AML approve threshold. |
kyb_score_review_threshold | integer | Company AML review threshold. |
kyb_enable_ongoing_monitoring | boolean | Enables KYB ongoing AML monitoring. |
kyb_company_aml_match_score_threshold | integer | Company AML match score threshold. |
kyb_company_aml_name_weight | integer | Company name weight. Company AML weights must sum to 100 when provided. |
kyb_company_aml_dob_weight | integer | Incorporation date or DOB weight. |
kyb_company_aml_country_weight | integer | Country weight. |
IP Analysis
Feature value:IP_ANALYSIS.
| Config field | Type | Description |
|---|---|---|
ip_mismatch_action | action | Action when IP geolocation does not match expected data. |
vpn_detection_action | action | Action when VPN or proxy usage is detected. |
expected_ip_mismatch_action | action | Action when the IP does not match the expected IP. |
duplicated_ip_action | action | Action when the IP is reused suspiciously. |
duplicated_device_action | action | Action when the device fingerprint is reused suspiciously. |
status_rules | array | Optional custom status rules. |
Proof of Address
Feature value:PROOF_OF_ADDRESS.
| Config field | Type | Description |
|---|---|---|
poa_documents_allowed | object | ISO3 country code to POA document type config. At least one valid document type should be enabled. |
poa_languages_allowed | object | ISO 639-1 language code to 0 or 1. At least one language should be enabled. |
poa_name_or_address_mismatch_action | action | Action when the name or address does not match expected data. |
poa_document_issues_action | action | Action when the document has quality or extraction issues. |
poa_max_attempts_exceeded_action | restricted action | Action when the user exceeds retry attempts. Use DECLINE or REVIEW. |
poa_document_authenticity_action | restricted action | Action when authenticity checks fail. Use DECLINE or REVIEW. |
poa_unsupported_document_type_action | action | Action when the document type is unsupported. |
poa_unsupported_language_action | action | Action when the document language is unsupported. |
poa_issuer_not_identified_action | action | Action when the document issuer is not identified. |
poa_issue_date_not_detected_action | action | Action when the issue date is missing. |
poa_unparsable_or_invalid_address_action | action | Action when the address is invalid or cannot be parsed. |
poa_name_match_score_threshold | integer | Name match threshold. |
poa_max_retry_attempts | integer | Retry limit, 2 to 5. |
status_rules | array | Optional custom status rules. |
Questionnaire
Feature value:QUESTIONNAIRE.
| Config field | Type | Description |
|---|---|---|
questionnaire_uuid | UUID | Required. Use the questionnaire_id returned by POST /v3/questionnaires/. |
review_questionnaire_manually | boolean | Sends questionnaire responses to manual review. |
status_rules | array | Optional custom status rules. You can target questionnaire.answers.<question_id> fields. |
KYB Registry
Feature value:KYB_REGISTRY.
| Config field | Type | Description |
|---|---|---|
kyb_accepted_countries | object | ISO3 country allow-list for business registry lookup. |
kyb_manual_company_action | action | Action when the company requires manual handling. |
status_rules | array | Optional custom status rules. |
KYB Documents
Feature value:KYB_DOCUMENTS.
| Config field | Type | Description |
|---|---|---|
kyb_required_document_groups | object or array | Required. Required KYB document groups. |
kyb_document_subtype_config | object | Per-document subtype enablement and age configuration. |
kyb_document_tampering_action | restricted action | Action when tampering is detected. Use DECLINE or REVIEW. |
kyb_document_critical_mismatch_action | restricted action | Action for critical document mismatches. Use DECLINE or REVIEW. |
kyb_document_non_critical_mismatch_action | action | Action for non-critical document mismatches. |
kyb_document_age_action | action | Action when document age rules fail. |
kyb_document_max_retry_attempts | integer | Retry limit for KYB documents. |
kyb_document_max_attempts_exceeded_action | restricted action | Action when max attempts are exceeded. Use DECLINE or REVIEW. |
status_rules | array | Optional custom status rules. |
KYB Key People
Feature value:KYB_KEY_PEOPLE.
| Config field | Type | Description |
|---|---|---|
kyb_ubo_ownership_threshold | integer | UBO ownership threshold, 0 to 100. |
kyb_shareholder_ownership_threshold | integer | Shareholder ownership threshold, 0 to 100. It cannot be higher than kyb_ubo_ownership_threshold. |
kyb_require_ubo_kyc | boolean | Requires UBOs to complete a person verification workflow. |
kyb_ubo_verification_workflow | UUID | Required when kyb_require_ubo_kyc is true. Must reference a non-KYB workflow in the same application. |
kyb_require_officer_kyc | boolean | Requires officers to complete person verification. |
kyb_shareholder_verification_workflow | UUID | Person verification workflow for shareholders. |
kyb_officer_verification_workflow | UUID | Person verification workflow for officers. |
kyb_require_corporate_ubo_kyb | boolean | Requires corporate UBOs to complete KYB. |
kyb_corporate_ubo_verification_workflow | UUID | Required when kyb_require_corporate_ubo_kyb is true. Must reference a KYB workflow in the same application. |
kyb_reject_if_ubo_rejected | boolean | Rejects the business when a required UBO verification is rejected. |
kyb_wait_for_all_ubos | boolean | Waits for all required UBO verifications before deciding the KYB session. |
kyb_role_config | object or array | Per-role configuration. Each required KYC role must include a verification_workflow. |
kyb_reuse_verified_individuals | boolean | Reuses already verified individuals when possible. |
kyb_notify_parties_by_email | boolean | Sends email notifications to invited key people. |
status_rules | array | Optional custom status rules. |