---
title: Execute POA
slug: investor-onboarding-io/execute-poa
description: Learn about the Extraction API for POA documents, including endpoints, headers, and input requirements for various document types such as Aadhaar, Passport, Driving License, and Voter ID. Discover the offline Aadhaar verification process and utilizing Dig
docTags: 
createdAt: 2023-06-21T11:25:42.000Z
---

Extraction API for POA documents

## Endpoint

**/api/onboardings/execute**

## Headers

| **Property**  | **Value**                                         |
| ------------- | ------------------------------------------------- |
| Content-type  | application/json                                  |
| Authorization | …access token… (alphanumeric string of length 64) |

## Input

```json
{
    "merchantId": ".......",
    "inputData": {
        "service": "identity",
        "type": "aadhaar / passport / drivingLicence / voterid",
        "task": "autoRecognition",
        "data": {
            "images": [
                "...direct url to the images ...",
                "...direct url to the images ..."
            ],
            "toVerifyData": {},
            "searchParam": {},
            "proofType": "address"
        }
    }
}
```

| **Property** | **Data Type**                                                                                                                     | **Example Values**                                                                                                                                                                                         |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| merchantId   | String (*Required*) alphanumeric string of length 24                                                                              | userId from investor login response                                                                                                                                                                        |
| inputData    | Object (*Required*)                                                                                                               | Metadata along with actual payload to be executed upon                                                                                                                                                     |
| – service    | Enum String (*Required*)                                                                                                          | “identity”                                                                                                                                                                                                 |
| – type       | Enum String (*Required*)                                                                                                          | “aadhaar”/“passport”/“drivingLicence”/“voterid”                                                                                                                                                            |
| – task       | Enum String (*Required*)                                                                                                          | “autoRecognition”                                                                                                                                                                                          |
| – data       | Object (*Required*)                                                                                                               | payload                                                                                                                                                                                                    |
| —- images    | Array (*Required*) array of length 2(in case of 'aadhaar', 'voterid', 'passport'), length 1 or 2 (in case of DL) with valid URLs. | An array of image URLs of the ID card, front and back in order. In the case of PAN, pass the URL of the front Image, and in the case of Driving License pass URLs of either front or both sides of images. |
| —- proofType | Enum String (*Required*)                                                                                                          | “address”                                                                                                                                                                                                  |

## Input For Offline Aadhaar

```json
{
    "merchantId": ".......",
    "inputData": {
        "service": ".......",
        "type": "aadhaar",
        "task": "offlineAadhaar",
        "data": {
            "images": [],
            "url":".. url of zip or xml file (only for offlineAadhaar)...",
            "password": ".. password of the zip file (only for offlineAadhaar and zip file) ..",
            "toVerifyData": {},
            "searchParam": {},
            "proofType": "address"
        }
    }
}
```

| **Property** | **Data Type**                                        | **Example Values**                                               |
| ------------ | ---------------------------------------------------- | ---------------------------------------------------------------- |
| merchantId   | String (*Required*) alphanumeric string of length 24 | userId from investor login response                              |
| inputData    | Object (*Required*)                                  | Metadata along with actual payload to be executed upon           |
| – service    | Enum String (*Required*)                             | “identity”                                                       |
| – type       | Enum String (*Required*)                             | “aadhaar”                                                        |
| – task       | Enum String (*Required*)                             | “offlineAadhaar”                                                 |
| – data       | Object (*Required*)                                  | payload                                                          |
| —- images    | Array (*Required*) empty array                       | In the case of Offline Aadhaar pass empty array \[]              |
| —- url       | Enum String (*Required*)                             | “url of *zip* or *xml* file ”                                    |
| —- password  | Enum String (*Required*)                             | “password of the zip file (*Required* only if the file is zip) ” |
| —- proofType | Enum String (*Required*)                             | “address”                                                        |

## For Aadhaar, DL DigiLocker

Must hit the execute API twice,

1\) First with the task as *createUrl*.

2\) In response, will receive a URL to grant permission from DigiLocker to access the documents.

3\) After completion of the process, Hit the same API with the task as *getDetails*.

## Input

```json
{
    "merchantId": ".......",
    "inputData": {
        "service": ".......",
        "type": ".......",
        "task": "...creatUrl/getDetails....",
        "data": {
            "images": [],
            "toVerifyData": {},
            "searchParam": {},
            "proofType": "address"
        }
    }
}
```

| **Property** | **Data Type**                                        | **Example Values**                                        |
| ------------ | ---------------------------------------------------- | --------------------------------------------------------- |
| merchantId   | String (*Required*) alphanumeric string of length 24 | userId from investor login response                       |
| inputData    | Object (*Required*)                                  | Metadata along with actual payload to be executed upon    |
| – service    | Enum String (*Required*)                             | “identity”                                                |
| – type       | Enum String (*Required*)                             | “aadhaarDigiLocker” / “dlDigiLocker”                      |
| – task       | Enum String (*Required*)                             | “createUrl” / “getDetails”                                |
| – data       | Object (*Required*)                                  | payload                                                   |
| —- images    | Array (*Required*) empty array                       | In the case of Aadhaar DigiLocker pass an empty array \[] |
| —- proofType | Enum String (*Required*)                             | “address”                                                 |

## Expected Output

### In Case of Aadhaar Card

```json
{
    "object": {
        "result": {
            "uid": "...00000000XXXX....masked first eight digit...",
            "vid": "...virtual UID...",
            "name": "...name on id card...",
            "yob": "...year of birth...",
            "dob": "...date of birth...",
            "pincode": "...pincode...",
            "address": "...address as on card...",
            "gender": "male/female",
            "splitAddress": {
                "district": [],
                "state": [
                    []
                ],
                "city": [],
                "pincode": " ",
                "country": [
                    "IN",
                    "IND",
                    "INDIA"
                ],
                "addressLine": ""
            },
            "uidHash": "Secure Cryptographic conversion of UID"
        }
    }
}
```

### In Case of Driving License

```json
{
    "object": {
        "result": {
            "issueDate": "date-of-issue",
            "dob": "dob",
            "expiryDate": "date-of-expiry",
            "name": "name",
            "number": "dl number",
            "guardianName": "name of guardian",
            "address": "address",
            "splitAddress": {
                "state": [
                    []
                ],
                "district": [],
                "city": [],
                "pincode": "...pincode...",
                "country": [
                    "IN",
                    "IND",
                    "INDIA"
                ],
                "addressLine": "...addressLine..."
            },
            "dlType": ["array-of-vehicle-class"]
        }
    }
}
```

### In Case of Passport

```json
{
    "object": {
        "result": {
            "parentsGuardianName": "..parentsGuardianName...",
            "issueDate": "..issueDate..",
            "expiryDate": "..expiryDate..",
            "birthDate": "..birthDate..",
            "name": "..name..",
            "country": [
                "..country.."
            ],
            "nationality": "..nationality..",
            "sex": "F/M",
            "address": "..address..",
            "pincode": "..pincode..",
            "passportNumber": "..passportNumber..",
            "fileNumber": "..fileNumber..",
            "placeOfBirth": "..placeOfBirth..",
            "placeOfIssue": "..placeOfIssue..",
            "splitAddress": {
                "district": [
                    "..district.."
                ],
                "state": [
                    [
                        "..state.."
                    ]
                ],
                "city": [
                    "..city.."
                ],
                "pincode": "..pincode..",
                "country": [
                    "IN",
                    "IND",
                    "INDIA"
                ],
                "addressLine": "..addressLine.."
            }
        }
    }
}
```

### In Case of VoterId

```json
{
    "object": {
        "result": {
            "epicNumber": "...epic number...",
            "name": "...name...",
            "fatherName": "...father name...",
            "state": "...state name...",
            "dob": "...date of birth...",
            "yob": "...year of birth...",
            "ageAsOn": "...age in year...",
            "address": "...address found on card...",
            "splitAddress": {
                "district": [
                    "...name of district..."
                ],
                "state": [
                    [
                        "...name of state...",
                        "WB"
                    ]
                ],
                "city": [
                    "...name of the city..."
                ],
                "pincode": "...pincode of the city...",
                "country": [
                    "IN",
                    "IND",
                    "INDIA"
                ],
                "addressLine": "...address line on the card..."
            }
        }
    }
}
```

### In Case of Offline Aadhaar

```json
{
    "object": {
        "result": {
            "name": "...name on id card...",
            "yob": "...year of birth...",
            "dob": "...date of birth...",
            "gender": "male/female",
            "emailHash": "...",
            "mobileNoHash": "...",
            "address": "..",
            "photo": "..image url..",
            "generationDate": ".. date ..",
            "generationTime": ".. time ..",
            "unixTimeStamp": 1589445464,
            "dateDifference": 1,
            "splitAddress": {
                "district": [],
                "state": [
                    []
                ],
                "city": [],
                "pincode": " ",
                "country": [
                    "IN",
                    "IND",
                    "INDIA"
                ],
                "addressLine": ""
            },
            "x509Data": {
                "subjectName": "......",
                "certificate": "",
                "details": { },
                "validAadhaarDSC": "..yes/no..."
            }
        }
    }
}
```

### In Case of DigiLocker(Aadhaar/DL) 1st Step

```json
{
    "result": {
            "url": " ... url to permit DigiLocker Account ...",
            "requestId": " .. id .."
        }
}
```

**In case of DigiLocker(DL) 2nd Step, the response will be similar to the respective cards as mentioned above.**

### In Case of Aadhaar Digilocker 2nd Step

```json
{
    "result": {
        "type": "aadhaarDigiLocker",
        "input": {
            "images": [
                "..image.."
            ]
        },
        "category": null,
        "output": {
            "uid": "...00000000XXXX....masked first eight digit...",
            "vid": "...virtual UID...",
            "name": "...name on id card...",
            "yob": "...year of birth...",
            "dob": "...date of birth...",
            "pincode": "...pincode...",
            "address": "...address as on card...",
            "gender": "male/female",
            "splitAddress": {
                "district": [],
                "state": [
                    []
                ],
                "city": [],
                "pincode": " ",
                "country": [
                    "IN",
                    "IND",
                    "INDIA"
                ],
                "addressLine": ""
            },
            "uidHash": "Secure Cryptographic conversion of UID"
            "x509Data": {
                "subjectName": "",
                "certificate": "",
                "details": { },
                "validAadhaarDSC": "..yes/no..."
            },
            "photo": "..Image.."
        }
    }
}
```

:::hint{type="info"}
### Getting help

Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.


You can reach out to us at [help@signzy.com](#).
:::

