# Request identity verification API

### Sends OTP number via SMS confirming the user's identity based on the submitted personal information.

## Sends OTP number confirming user's identity via SMS.

<mark style="color:green;">`POST`</mark> `https://api.iamport.kr/certifications/otp/request`

If the user's personal information is passed to the API and verified by the carrier, an OTP (6-digit verification number) is sent to the user via SMS. This is only supported by some merchants who have been pre-approved by the carrier, and is currently only being serviced through **Danal**.&#x20;

You can call the API by directly entering the name, date of birth + 7th digit of social security number, mobile phone number, and carrier information from the merchant. If the transmitted personal information is correct, a verification code SMS is sent to the mobile phone.&#x20;

When you receive an HTTP Status 200 response, it contains the verification ID (`imp_uid`) in the response body. To complete the verification process, call the /certifications/otp/confirm/{imp\_uid} API with the OTP number.

#### Request Body

| Name                                            | Type    | Description                                                                                                                                                                                 |
| ----------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name<mark style="color:red;">\*</mark>          | String  | <mark style="color:red;">**User name**</mark>                                                                                                                                               |
| phone<mark style="color:red;">\*</mark>         | String  | <p><mark style="color:red;"><strong>Mobile number</strong></mark></p><p>May contain special characters.</p>                                                                                 |
| birth<mark style="color:red;">\*</mark>         | String  | <p><mark style="color:red;"><strong>DOB</strong></mark> </p><p><strong><code>YYYYMMDD (6-digit)</code></strong></p><p>May contain special characters.</p>                                   |
| gender\_digit<mark style="color:red;">\*</mark> | String  | <p><mark style="color:red;"><strong>Gender code</strong></mark> </p><p>7th digit of 13-digit social security number</p>                                                                     |
| carrier<mark style="color:red;">\*</mark>       | String  | <p><mark style="color:red;"><strong>Carrier code</strong></mark></p><p><strong><code>SKT</code></strong></p><p><strong><code>KT</code></strong></p><p><strong><code>LGT</code></strong></p> |
| is\_mvno                                        | Boolean | **Budget phone?**                                                                                                                                                                           |
| company                                         | String  | **Merchant service name**                                                                                                                                                                   |
| merchant\_uid                                   | String  | **Order ID**                                                                                                                                                                                |
| pg                                              | String  | **PG code**                                                                                                                                                                                 |

{% tabs %}
{% tab title="400: Bad Request Missing or invalid parameter error" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="401: Unauthorized Missing or invalid access token" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="500: Internal Server Error Danal server error" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="200: OK Success" %}
{% tabs %}
{% tab title="CertificationOTPResponse" %}
**`code`** <mark style="color:red;">**\***</mark>**&#x20;**<mark style="color:purple;">**integer**</mark>

**Response code**

0: success, Not 0: check the message

**`message`** <mark style="color:red;">**\***</mark>**&#x20;**<mark style="color:green;">**string**</mark>

**Response message**

A non-zero code includes a message like 'Invalid payment info'.

**response&#x20;**<mark style="color:red;">**(CertificationOTPAnnotation, optional)**</mark>
{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="CertificationOTPAnnotation" %}
**`imp_uid *`` `**<mark style="color:green;">**`String`**</mark>

**`i'mport verification ID`**&#x20;
{% endtab %}
{% endtabs %}
{% endtab %}
{% endtabs %}

### **Key request parameter description**

> **`gender_digit`**<mark style="color:red;">**`*`**</mark><mark style="color:green;">**`String`**</mark>
>
> **`Gender code`**
>
> 7th digit of 13-digit social security number
>
> 1 or 2 for those born before 2000, 3 or 4 those born on or after 2000 (odd: male, even: female)

> **`carrier`**<mark style="color:red;">**`*`**</mark><mark style="color:green;">**`String`**</mark>
>
> **`Carrier code`**&#x20;
>
> For budget phone users, set <mark style="color:red;">**`carrier`**</mark> to one of SKT, KT, or LGT, and set&#x20;
>
> **`is_mvno : true`**&#x20;

> **`company`**<mark style="color:red;">**`*`**</mark><mark style="color:green;">**`String`**</mark>
>
> **`Merchant service name`**&#x20;
>
> Service name to use in the SMS sent by KISA

> **`pg`` `**<mark style="color:green;">**`String`**</mark>
>
> **`PG code`**&#x20;
>
> &#x20;Specify this value as follows only when you are using multiple Danal Merchant IDs.
>
> **danal.{Merchant ID}**

<details>

<summary>Response Model Schema</summary>

```json
{
  "code": 0,
  "message": "string",
  "response": {
    "imp_uid": "string"
  }
}
```

</details>

{% hint style="success" %}
**Swagger Test Link**

[**https://api.iamport.kr/#!/certifications/requestOTP**](https://api.iamport.kr/#!/certifications/requestOTP)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://portone.gitbook.io/docs-en/api/identity-verification-api/request-identity-verification-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
