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.

POST

/api/v1/PassportVerification

#

Get Passport Verification details

docs.signcare.io/core/api/kyc-documents/passport-verification/#post-api-v1-passportverification

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. 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_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • name
    stringrequired
    Required. Full name of the passport holder, as printed on the passport.
    minLength 1default John Doe
  • passportNo
    stringrequired
    Required. Passport number: 1 uppercase letter followed by 7 digits (for example S1234567).
    minLength 1pattern ^[A-Z][0-9]{7}$default S1234567
  • fileNo
    stringrequired
    Required. Passport file number: uppercase letters and digits only, no spaces or hyphens.
    minLength 1pattern ^[A-Z0-9]+$default AB1234567890123
  • dob
    stringrequired
    Required. 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
  • doi
    stringrequired
    Required. 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
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "name": "John Doe", "passportNo": "S1234567", "fileNo": "AB1234567890123", "dob": "01/01/1990", "doi": "01/01/2018" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model for passport verification containing the verification result.
    1 field
    • result
      objectoptional
      No description.
      5 fields
      • name
        objectoptional
        No description.
        4 fields
        • nameFromPassport
          stringoptional
          No description.
          nullable
        • surnameFromPassport
          stringoptional
          No description.
          nullable
        • nameMatch
          booleanoptional
          No description.
        • nameScore
          number (double)optional
          No description.
      • passportNumber
        objectoptional
        No description.
        2 fields
        • passportNumberFromSource
          stringoptional
          No description.
          nullable
        • passportNumberMatch
          booleanoptional
          No description.
      • dateOfIssue
        objectoptional
        No description.
        2 fields
        • dispatchedOnFromSource
          stringoptional
          No description.
          nullable
        • dateOfIssueMatch
          booleanoptional
          No description.
      • typeOfApplication
        stringoptional
        No description.
        nullable
      • applicationDate
        stringoptional
        No description.
        nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether 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.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "result": { "name": { "nameFromPassport": "string", "surnameFromPassport": "string", "nameMatch": false, "nameScore": 0 }, "passportNumber": { "passportNumberFromSource": "string", "passportNumberMatch": false }, "dateOfIssue": { "dispatchedOnFromSource": "string", "dateOfIssueMatch": false }, "typeOfApplication": "string", "applicationDate": "string" } }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/PassportVerification' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "name": "John Doe", "passportNo": "S1234567", "fileNo": "AB1234567890123", "dob": "01/01/1990", "doi": "01/01/2018" }'