Passport Verification
1 endpoint · Core API
This API is crafted to validate an individual's identity by cross-referencing the personal information found on their passport with authoritative databases. By scrutinizing candidate details against verified records, it ensures accuracy and reliability.
Primarily indispensable for enterprises engaging in international transactions or collaborating with global partners, Passport Validation APIs detect any anomalies in the data, signaling potential manipulation of personal information.
Moreover, integrating these APIs streamlines HR processes, particularly in screening and onboarding international employees or consultants, as it facilitates swift and efficient passport verification.
Benefits
- 1. Enhances identity confirmation accuracy
- 2. Vital for businesses with international engagements
- 3. Flags potential data manipulation or inconsistencies
- 4. Streamlines HR procedures for verifying international personnel
What you can do
This API verifies passports issued by Passport Seva Kendra using the File Number and Date of Birth provided, ensuring accurate authentication of passport details.
Get Passport Verification details
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- consentstringrequiredRequired. The end user's consent to this verification. Send `Y`.minLength 1default Y
- consent_textstringrequiredRequired. The consent statement shown to the end user. Send the default text from the sample.minLength 1default I hear by declare my consent agreeme…
- request_idstringoptionalOptional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.nullable
- namestringrequiredRequired. Full name of the passport holder, as printed on the passport.minLength 1default John Doe
- passportNostringrequiredRequired. Passport number: 1 uppercase letter followed by 7 digits (for example S1234567).minLength 1pattern ^[A-Z][0-9]{7}$default S1234567
- fileNostringrequiredRequired. Passport file number: uppercase letters and digits only, no spaces or hyphens.minLength 1pattern ^[A-Z0-9]+$default AB1234567890123
- dobstringrequiredRequired. Date of birth of the passport holder in DD/MM/YYYY format (for example 01/01/1990).minLength 1pattern ^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2]…default 01/01/1990
- doistringrequiredRequired. Date the passport was issued, in DD/MM/YYYY format (for example 01/01/2018).minLength 1pattern ^(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2]…default 01/01/2018
Sample request body
Responses
200OK
- successbooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 200
- messagestringoptionalNo description.nullabledefault XXXXX
- dataobjectoptionalResponse model for passport verification containing the verification result.
1 field
- resultobjectoptionalNo description.
5 fields
- nameobjectoptionalNo description.
4 fields
- nameFromPassportstringoptionalNo description.nullable
- surnameFromPassportstringoptionalNo description.nullable
- nameMatchbooleanoptionalNo description.
- nameScorenumber (double)optionalNo description.
- passportNumberobjectoptionalNo description.
2 fields
- passportNumberFromSourcestringoptionalNo description.nullable
- passportNumberMatchbooleanoptionalNo description.
- dateOfIssueobjectoptionalNo description.
2 fields
- dispatchedOnFromSourcestringoptionalNo description.nullable
- dateOfIssueMatchbooleanoptionalNo description.
- typeOfApplicationstringoptionalNo description.nullable
- applicationDatestringoptionalNo description.nullable
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- isBillablebooleanoptionalWhether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500