> For the complete documentation index, see [llms.txt](https://docs.vida.id/identity-stack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vida.id/identity-stack/verify/indonesia-verification/integration/web-integration-web-kyc-2.0/api-reference/identity-verification.md).

# Identity Verification

## API Description

<mark style="color:green;">`POST`</mark> `https://vida-host/main/v3/services/web/ekyc`

#### Headers

| Name                                            | Type             | Description                                                                                                |
| ----------------------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------- |
| Authorization<mark style="color:red;">\*</mark> |                  | <p>OAuth access token. </p><p>Get the token by calling the</p><p><strong>Get Access Token</strong> API</p> |
| Content-Type<mark style="color:red;">\*</mark>  | application/json | Format type of request body                                                                                |

#### Request Body

| Name                                           | Type   | Description                                                                                                                                                                                                                                                                                                                                  |
| ---------------------------------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| mobile<mark style="color:red;">\*</mark>       | String | <p>User mobile number with country code without space.<br><br>1. \[+] \[country code] \[ user phone number]</p><p>2. No special characters.<br>3. Provide phone number in <a href="https://en.wikipedia.org/wiki/E.164">E.164 format</a>.</p><p>example: +6281293671234</p><p><br></p>                                                       |
| email<mark style="color:red;">\*</mark>        | String | <p>User valid email address</p><p></p><p>example: <everest@gmail.com></p><p><br></p>                                                                                                                                                                                                                                                         |
| govId<mark style="color:red;">\*</mark>        | String | <p>(Government Id - User NIK number)<br></p><p>16 digit number of Nomor Induk Kependudukan (Government Issued Id- NIK)</p><p></p>                                                                                                                                                                                                            |
| fullName<mark style="color:red;">\*</mark>     | String | <p>User full name as per KTP.</p><p></p><p>example: Johnny Rudiantara Sembiring</p>                                                                                                                                                                                                                                                          |
| dob<mark style="color:red;">\*</mark>          | String | <p>user date of birth as per KTP.</p><p>Provide user date of birth In YYYY-MM-DD format.</p><p></p><p>example: 1975-08-16</p>                                                                                                                                                                                                                |
| idCardPhoto<mark style="color:red;">\*</mark>  | String | <p>Format: base64 string</p><p></p><p>User ID card photo converted in base64 strings.</p><p></p><p>Format: JPG/JPEG files only</p><p>Max file size: 10 MB</p>                                                                                                                                                                                |
| partnerTrxId<mark style="color:red;">\*</mark> | String | <p>Reference ID supplied by the customer, used for identifying the transaction and <strong>it can't be duplicated.</strong></p><p></p><p>The identity verification status would be notified to the partner against this <code>partnerTrxId</code> by invoking the partner’s webhook URL.</p><p><strong>Max length</strong>: 36 character</p> |

#### **API Response**

If the demog check is successful, a unique eventId is created for this API call to track the further status

HTTP Status Code: `200`

<details>

<summary>JSON Response</summary>

```json
{
    "data": {
        "eventId": "99a173f7-b1fd-4495-8787-59940b9a1efc"
    }
}
```

</details>

## Verification Status

VIDA's Status Check API allows partners to track identity verification requests using a unique transaction ID (kycEventId) for status updates and failure reasons. Please refer to the [verification status page](/identity-stack/verify/indonesia-verification/integration/api/api-reference/verification-status.md) for the api details and description.

## Webhook

The Webhook enables VIDA to notify partners about identity verification updates, including status and transaction details. Partners can track verification progress by configuring their API to accept JSON requests from VIDA. For more details and setup assistance, please refer to the [Webhook](/identity-stack/verify/indonesia-verification/integration/webhook.md) section.

## **Error Codes**

<table><thead><tr><th width="125">Error Code</th><th width="174">Title</th><th width="176">Detail</th><th>Description</th></tr></thead><tbody><tr><td>1098</td><td>Invalid Request</td><td>Invalid Government ID </td><td>Demographic validation failed for invalid NIK</td></tr><tr><td>1099</td><td> Authoritative sources offline</td><td></td><td>Demographic information validation failed due to unavailable authoritative sources. Retry after an hour.</td></tr><tr><td>1100</td><td>Invalid request</td><td>Verified Demographic fields, [govId, fullName, dob] cannot be updated</td><td>Attempted to update verified demographic details (name, DoB) for the same user.</td></tr><tr><td>1091</td><td>Invalid Request</td><td>The eKYC of the user is completed</td><td>Attempted to initiate eKYC for a user whose eKYC is already approved.</td></tr><tr><td>1096</td><td>Invalid Request</td><td>The size of idCardPhoto is greater than permitted limit</td><td>KTP card image size exceeds the permitted limit (10 MB).</td></tr><tr><td>1096</td><td>Invalid Request</td><td>The idCardPhoto is not base64 encoded</td><td>KTP card image is not properly converted into base64 format.</td></tr><tr><td>1096</td><td>Invalid value for field mobile</td><td>Invalid phone number</td><td>Provided mobile number is not in E.164 format.</td></tr><tr><td>1096</td><td>Invalid value for field email</td><td>must be a well-formed email address</td><td>Provided email address is not a well-formed email address.</td></tr></tbody></table>
