EPAN extraction
Introduction:
The EPAN extraction API provided by Signzy Technologies Private Limited allows you to extract the Electronic PAN (EPAN) details of an individual from a valid password-protected PDF or zip file or an XML file. This API endpoint can be integrated with your existing systems to automate the process of EPAN extraction, reducing manual effort and increasing efficiency.
The API accepts a direct URL to the file and the associated password (for PDF and zip files), and returns a JSON response containing the extracted EPAN details, including the name, father's name, date of birth, gender, photo, PAN number, and validity of the PAN. Additionally, the API also returns the X509 data of the digital signature certificate (DSC) associated with the file.
In case the provided link is not a valid document or not in the proper format, the API returns an error message indicating the same.
In the following sections, we will discuss the details of the API endpoint, including the request and response structures, as well as the constraints and limitations to keep in mind while using this API.
Use Cases
This API is especially useful for businesses that require customer verification for KYC (Know Your Customer) purposes. For instance, banks, financial institutions, and telecom companies can use this API to verify the identity of their customers, by extracting the necessary information from their submitted documents.
The EPAN extraction API can also be used in other scenarios where identity verification is required. For example, it can be used in the insurance industry to verify the identity of policyholders, or in the healthcare industry to verify the identity of patients.
Overall, the EPAN extraction API is a powerful tool that can streamline identity verification processes and help businesses comply with regulatory requirements.
API description
Sample cURL
curl --location 'https://api-preproduction.signzy.app/api/v3/epan/epan-extractions' \
--header 'Content-Type: application/json' \
--header 'Authorization: <Auth-Token>' \
--data '{
"file": "https://persist.signzy.tech/api/files/518623897/download/5d60cf07e4234307bfbd620355833a013f1bc143c1aa4b74af1d59a6ff57e143.pdf",
"password": "22021999",
"type": "individualPan",
"instance": {
"id": "64a7743ff9ac561a0684ef04",
"callbackUrl": "http://callback.development.signzy.tech/api/apurbaposts"
}
}'Input Parameters
Parameter | Description | Type | Required |
|---|---|---|---|
file | The URL of the file containing the PAN information to extract. | String | Required |
password | The password to access the encrypted PAN file (if applicable). | String | Required |
type | The type of PAN extraction to perform. | String | Required |
instance.id | The ID of the instance for tracking and callback purposes. | String | Optional |
instance.callbackUrl | The URL where the callback response should be sent (if applicable). | String | Optional |
Sample Response
{
"result": {
"name": "<name>",
"fatherName": "<fatherName>",
"dob": "<dob>",
"number": "<number>",
"gender": "<gender>",
"timestamp": "",
"x509Data": {
"version": 2,
"subject": {
"countryName": "",
"organizationName": "",
"organizationalUnitName": "",
"postalCode": "",
"stateOrProvinceName": "",
"streetAddress": "<streetAddress>",
"houseIdentifier": "",
"commonName": "<commonName>"
},
"issuer": {
"countryName": "",
"organizationName": "",
"organizationalUnitName": "",
"commonName": ""
},
"serial": "",
"notBefore": "",
"notAfter": "",
"subjectHash": "",
"signatureAlgorithm": "sha256WithRSAEncryption",
"fingerPrint": "",
"publicKey": {
"algorithm": "sha256WithRSAEncryption"
},
"altNames": [],
"extensions": {
"authorityKeyIdentifier": "",
"subjectKeyIdentifier": "",
"basicConstraints": "",
"keyUsage": "",
"subjectAlternativeName": "",
"extendedKeyUsage": "",
"certificatePolicies": "",
"authorityInformationAccess": "",
"cRLDistributionPoints": ""
}
},
"isValidEPANDSC": true,
"photo": "<photo>"
}
}
Sample Response
Parameter | Description | Type |
|---|---|---|
name | Name of the person | String |
fatherName | Name of the person's father | String |
dob | Date of birth | String |
number | Identification number | String |
gender | Gender | String |
timestamp | Timestamp | String |
x509Data | X509 data containing various fields related to certificates | Object |
isValidEPANDSC | Flag indicating if EPANDSC is valid | Boolean |
photo | URL of the person's photo | String |
Status Codes
Status Code | Description |
|---|---|
200 | OK - The request was successful, and the API returned the requested data. |
400 | Bad Request - The request was invalid or could not be understood by the server. This can happen if the provided file link is not valid, or if the password provided for a password-protected file is incorrect or missing. |
404 | Not Found - The requested resource was not found. |
500 | Internal Server Error - An error occurred on the server while processing the request. This could be due to an issue with the API or an issue with the server itself. |
Troubleshooting
Issue | Description | Troubleshooting Tips |
|---|---|---|
Missing required input | If a required input is missing, the API will return an error status code. | Check the API documentation to ensure all required inputs have been provided. |
Invalid input format | If an input is not in the correct format, the API will return an error status code. | Check the API documentation for the correct input format. |
Unsupported input value | If an input value is not supported by the API, it will return an error status code. | Check the API documentation for the supported input values. |
Authentication issues | If the authentication credentials are incorrect or missing, the API will return an authentication error status code. | Check the API documentation for the correct authentication credentials. |
Network issues | If there are network issues, such as connectivity problems or slow response times, the API may return an error status code or timeout. | Check the network connection and try again. |
These are some of the common issues that may occur while providing the required inputs for the API. By following the troubleshooting tips provided, you can resolve these issues and successfully use the API.