Aadhaar Offline XML

Automate Aadhaar Offline XML based KYC for your users

Available through API v1 Flow v1

Introduction

Aadhaar Offline XML was introduced by UIDAI for aadhaar holders to voluntarily share and establish their identity to private entities for the purpose of verification. Private entities except banks, telecom and few others, are no longer permitted to use Aadhaar biometric authentication. Offline XML is a document that contains information about the holder such as identity, demographics, photo and digital signature which users can download from UIDAI portal and share with entities. Read here for more details.

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

Attestr Aadhaar Offline XML Automation

Attestr platform automates this process of offline xml verification. Customers can use our solution to offer a platform to their end users for uploading and verifying offline xml in real time. This involves validating the signature in XML with the UIDAI public certificate, validating the last 4 digits of Aadhaar number and optionally verifying the associated mobile number and email address.

API Details

TypeURL
Posthttps://api.attestr.com/api/{version}/public/checkx/uidai-xml

Aadhaar Offline XML Input and Output Definitions

Request Body Parameters

KeyTypeDescriptionRequiredMin VersionMax Version
uuidStringLast 4 digits of Aadhaar NumberRequiredv1
mediaStringMedia Id of the uploaded XML fileRequiredv1
validateMobileBooleanTo validate Aadhaar linked mobile numberOptionalv1
validateEmailBooleanTo validate Aadhaar linked email addressOptionalv1
emailStringAadhaar linked email addressRequired if validateEmail is truev1
mobileStringAadhaar linked mobile number without leading zero eg. 9012345678Required if validateMobile is true.v1
codeString4 character share code used by UIDAI to password protect the zip file.Required if validateEmail or validateMobile is passed as truev1

Request Header Parameters

TypeNameValue / DescriptionOptionalMin VersionMax Version
StringContent-Typeapplication/jsonRequiredv1
StringAuthorizationBasic {authToken}Requiredv1

If you do not have the authentication token, please refer to Register App to generate one.

Sample Request

Validate Offline XML
Copy

Sample request for validating email and mobile along with XML

JSON
Copy

Response

KeyTypeDescriptionMin VersionMax Version
validBooleanIf provided XML is valid.v1
signatureMatchesBooleanTrue if the signature from XML document matches the signature generated using UIDAI public certificate. This establishes the authenticity of XML and rules out any manual editing or data tampering of the document by the user.v1
uuidMatchesBooleanIf the input last 4 digits of Aadhaar matches the value from XMLv1
generatedDateDate time at which this offline XML document was generated / downloaded from the UIDAI portal. Format is DD-MM-YYYY HH:mm:ssv1
attachmentStringMedia Id of the XML file attached by the userv1
uuidStringMasked Aadhaar number. Eg xxxxxxxx1234v1
vidStringVirtual Id if available. Can be null.v1
birthDateStringDate of birth of user in DD-MM-YYYY format. Can be null.v1
birthYearStringYear of birth if available in YYYY format. Either birth date or birth year is available, not both at the same time.v1
nameStringName of the user as registered with UIDAIv1
genderStringGender of the userv1
hashedEmailStringHashed mobile number of the user as registered. Can be null if not linked.v1
hashedMobileStringHashed email of the user as registered. Can be null if not linked.v1
mobileMatchesBooleanIndicates if the user entered mobile number matches the aadhaar linked mobile number. Null if validateMobile is configured as false.v1
emailMatchesBooleanIndicates if the user entered email matches the aadhaar linked email. Null if validateEmail is configured as false.v1
careOfStringcareOf value as specified in registered in address. Can be null if not set.v1
countryStringCountry of residence as registered in address.v1
districtStringDistrict of residence as registered in address. Can be null if not set.v1
houseNumberStringHouse number as registered in address. Can be null if not set.v1
landmarkStringLandmark. Can be null if not set.v1
locationStringLocation of the house. Can be null if not set.v1
zipStringZip code of the area where house is located. Can be null.v1
postOfficeStringArea post office of the user's residence. Can be null.v1
stateStringState of residence. Can be null.v1
streetStringStreet of residence. Can be null.v1
subdistrictStringSub district where house is located. Can be null.v1
vtcStringTaluka / Village name. Can be null.v1
photoStringBase64 encoded user photo. Can be null.v1
addressStringFull address if available else null.v1

Sample Output

JSON
Copy

Sample response if XML data is tampered or the signature does not match with the signed info generated by cryptographic signing of XML data with the UIDAI public certificate

JSON
Copy

Error Response

ParameterTypeDescription
codeNumberUnique error codes for different errors. Always available.
messageStringError message describing the error. Always Available.
detailsStringDetail error message. Available only for certain types of errors.

Error Codes

HTTP StatusError CodeError Message
4004001Malformed data or missing required parameter values
4004005Operation could not be performed due to low credits balance
4014016Invalid client authorization
4034031Unauthorized access
4034035Requested service is not provisioned for your account
4034039Client's IP address is not whitelisted
4034035Requested service is not provisioned for your account
4294291Maximum account rate limit exceeded
4294292Maximum API rate limit exceeded
4294293Maximum account daily limit exceeded
4294294Maximum API daily limit exceeded
5005001Request could not be processed

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard