← 返回
开发者工具 Key 中文

Didit Database Validation

Integrate Didit Database Validation API to verify personal data against government databases. Use when the user wants to validate identity against government...
集成Didit数据库验证API,验证个人数据与政府数据库的匹配度,用于身份验证。
rosasalberto
开发者工具 clawhub v1.1.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 904
下载
💾 5
安装
1
版本
#latest

概述

Didit Database Validation API

Overview

Verifies personal data and identity documents against trusted government and financial databases. Prevents synthetic identity fraud and ensures identity authenticity.

Key constraints:

  • Requires at least the national ID/document number for the target country
  • Coverage: 18 countries (primarily Latin America + Spain)
  • Results: full_match, partial_match, or no_match
  • Only charged per successful query — no charge if insufficient data

Matching methods:

MethodDescriptionStarting Price
---------
1x1Single data source validation$0.05
2x2Two data sources cross-validation$0.30

API Reference: https://docs.didit.me/standalone-apis/database-validation

Feature Guide: https://docs.didit.me/core-technology/database-validation/overview

Supported Countries: https://docs.didit.me/core-technology/database-validation/database-validation-supported-countries


Authentication

All requests require x-api-key header. Get your key from Didit Business Console → API & Webhooks, or via programmatic registration (see below).

Getting Started (No Account Yet?)

If you don't have a Didit API key, create one in 2 API calls:

  1. Register: POST https://apx.didit.me/auth/v2/programmatic/register/ with {"email": "you@gmail.com", "password": "MyStr0ng!Pass"}
  2. Check email for a 6-character OTP code
  3. Verify: POST https://apx.didit.me/auth/v2/programmatic/verify-email/ with {"email": "you@gmail.com", "code": "A3K9F2"} → response includes api_key

To add credits: GET /v3/billing/balance/ to check, POST /v3/billing/top-up/ with {"amount_in_dollars": 50} for a Stripe checkout link.

See the didit-verification-management skill for full platform management (workflows, sessions, users, billing).


Endpoint

POST https://verification.didit.me/v3/database-validation/

Headers

HeaderValueRequired
---------
x-api-keyYour API keyYes
Content-Typeapplication/jsonYes

Body (JSON)

ParameterTypeRequiredDescription
------------
id_numberstringYesUniversal ID number — auto-maps to correct country field
first_namestringNoFirst name for matching
last_namestringNoLast name for matching
date_of_birthstringNoDOB in YYYY-MM-DD (required for some countries)
issuing_statestringNoISO 3166-1 alpha-3 country code
save_api_requestbooleanNoSave in Business Console
vendor_datastringNoYour identifier for session tracking

The id_number field auto-maps to the correct country-specific field:

CountryMapped FieldDocumentFormat
------------
ARGdocument_numberDNI
BOLdocument_numberCI
BRAtax_numberCPF11 digits
CHLpersonal_numberRUT
COLpersonal_numberCedula
CRIpersonal_numberCedula
DOMpersonal_numberCedula11 digits
ECUpersonal_numberCedula10 digits
ESPpersonal_numberDNI/NIE
GTMdocument_numberDPI
HNDdocument_numberDNI
MEXpersonal_numberCURP18 chars
PANdocument_numberCedula
PERpersonal_numberDNI8 digits
PRYdocument_numberCI
SLVdocument_numberDUI
URYpersonal_numberCI
VENdocument_numberCedula

Example

import requests

response = requests.post(
    "https://verification.didit.me/v3/database-validation/",
    headers={"x-api-key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
        "id_number": "12345678",
        "first_name": "Carlos",
        "last_name": "Garcia",
        "issuing_state": "PER",
    },
)
print(response.json())
const response = await fetch("https://verification.didit.me/v3/database-validation/", {
  method: "POST",
  headers: { "x-api-key": "YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
    id_number: "12345678",
    first_name: "Carlos",
    last_name: "Garcia",
    issuing_state: "PER",
  }),
});

Response (200 OK)

{
  "request_id": "a1b2c3d4-...",
  "database_validation": {
    "status": "Approved",
    "match_type": "full_match",
    "issuing_state": "PER",
    "validation_type": "1x1",
    "screened_data": {
      "personal_number": "12345678",
      "first_name": "Carlos",
      "last_name": "Garcia"
    },
    "validations": {
      "full_name": "full_match",
      "identification_number": "full_match"
    }
  }
}

Status Values & Handling

StatusMeaningAction
---------
"Approved"Full match against government recordsIdentity confirmed
"Declined"No match foundIdentity could not be verified
"In Review"Partial match or insufficient dataReview screened_data and validations

Error Responses

CodeMeaningAction
---------
400Invalid requestCheck ID number format for target country
401Invalid API keyVerify x-api-key header
403Insufficient creditsTop up at business.didit.me

Matching Logic

Name Matching

ResultCriteria
------
Full MatchFull name concatenation at 85% similarity (Levenshtein), OR First + Last both full match
Partial MatchAny single name component full match
No MatchNo component reaches 70% similarity

> Individual name components use 70% Levenshtein threshold. Example: "Christophel" vs "Christopher" = Full Match; "Chris" vs "Christopher" = No Match.

1x1 Decision

Match TypeNameID Number
---------
full_matchFull MatchFull Match
partial_matchPartial MatchFull Match
no_matchAll other combinations

2x2 Decision

Requires matching against 2 independent data sources:

Match TypeCondition
------
full_matchBoth sources confirm name + ID
partial_matchOne source confirms
no_matchNeither source confirms

> DOB and ID number matching is exact only — no fuzzy matching.


Warning Tags

TagDescription
------
COULD_NOT_PERFORM_DATABASE_VALIDATIONMissing required data — provide ID number, name, and country
DATABASE_VALIDATION_PARTIAL_MATCHPartial match found — requires investigation
DATABASE_VALIDATION_NO_MATCHNo match found in government records

> When COULD_NOT_PERFORM_DATABASE_VALIDATION fires, session goes to "In Review". Validation auto-retriggers once missing data is provided.


Supported Countries

CountryMethodCoverageRequired Input
------------
Argentina1x195%Document number
Bolivia1x195%Document number + DOB
Brazil1x195%Tax number (CPF)
Chile1x195%Personal number (RUT)
Colombia1x195%Document number + type
Costa Rica1x195%Personal number
Dominican Republic1x195%Personal number
Ecuador1x1 / 2x290-96%Personal number
El Salvador1x195%Document number + DOB
Guatemala1x195%Document number
Honduras1x195%Document number
Mexico1x195%Personal number (CURP)
Panama1x195%Document number + DOB
Paraguay1x195%Document number
Peru1x1 / 2x295-99%Personal number
Spain1x195%Personal number + doc type + expiry
Uruguay1x195%Personal number + DOB
Venezuela1x195%Document number

Utility Scripts

validate_database.py: Validate identity against government databases from the command line.

# Requires: pip install requests
export DIDIT_API_KEY="your_api_key"
python scripts/validate_database.py --id-number 12345678 --country PER --first-name Carlos --last-name Garcia
python scripts/validate_database.py --id-number GARC850315HDFRRL09 --country MEX

版本历史

共 1 个版本

  • v1.1.0 当前
    2026-03-30 03:37 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

developer-tools

Gog

steipete
Google Workspace 命令行工具,支持 Gmail、日历、云端硬盘、通讯录、表格和文档。
★ 921 📥 185,734
data-analysis

Didit Face Match

rosasalberto
集成Didit Face Match独立API以比对两张面部图像。适用于用户需要比对面部、验证身份或实现生物识别的场景。
★ 0 📥 1,136
developer-tools

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 66 📥 179,856