# Onboarding - KYC

Onboarding refers to the process of bringing a new merchant or business onto a payment processing platform or network. It typically involves gathering information about the merchant such as Business name, Client type, Entity type, Address, Bank details and so on. With the help of onboarding, we can conclude whether the merchants are legitimate, financially stable, and pose an acceptable level of risk to the payment platform.

### Onboarding - KYC

`POST` `https://secctrl.tutelar.io/api/v1/onboarding-protect/kyc`

#### Post parameters description is given below

| Parameter                  | Type    | Is Mandatory | Description                                                                                                         |
| -------------------------- | ------- | ------------ | ------------------------------------------------------------------------------------------------------------------- |
| `merchant_ref_id`          | String  | Yes          | It should be *unique*. It helps to identify the new merchant that comes from which client.                          |
| `email`                    | String  | Yes          |                                                                                                                     |
| `phone`                    | String  | Yes          |                                                                                                                     |
| `name`                     | String  | Yes          |                                                                                                                     |
| `reseller_trade_name`      | String  | No           |                                                                                                                     |
| `business`                 | Object  | Optional     | <p><strong>Except</strong> (name and address)<br>If field verification is purchased, address field is mandatory</p> |
| `entity_type`              | Object  | Yes          |                                                                                                                     |
| `client_type`              | Object  | No           |                                                                                                                     |
| `kyc_checks`               | Object  | Yes          |                                                                                                                     |
| `mcc`                      | Object  | Yes          |                                                                                                                     |
| `is_field_verify`          | Boolean | Optional     |                                                                                                                     |
| `bank_verification_status` | Boolean | Yes          |                                                                                                                     |
| `source_from`              | String  | Yes          | It can contain one of the following values: **APP**, **DIRECT**, **WEBSITE**, or **RESELLER**                       |

#### Sample Post Parameters

```json
{
    "merchant_ref_id": "TUTMALA00006",
    "source_from": "RESELLER",
    "email": "gowtham@gmail.com",
    "phone": "8710308721",
    "name": "Gowtham",
    "reseller_ref_id": "RESTUT01",
    "client_type": {
        "code": "O96ty9TSb",
        "name": "Airlines"
    },
    "entity_type": {
        "code": "Vmtpxzpct",
        "name": "Public Limited"
    },
    "business": {
        "name": "Tutelar",
        "pan": "CUTTY0987H",
        "address": "Chennai",
        "date_of_registration": "11-12-1999",
        "gst": "33AAHCV5397D1U8",
        "aadhar": "909088183490",
        "authorized": [\
            {\
              "name": "Rohit Sharma",\
              "authorizer_type": "signatory",\
              "panNumber": "CWKMR2647X",\
              "dateOfBirth": "02-12-2000",\
              "fathersName": "Siva Raj",\
              "address": "11/116, Anna Nagar, Mumbai",\
              "kycType": {\
                  "name": "Aadhaar Card",\
                  "code": "ind_aadhaar"\
              },\
              "kycNumber": "345644563456"\
            },\
            {\
              "name": "Amit Verma",\
              "authorizer_type": "director"\
            },\
            {\
              "name": "Neha Kapoor",\
              "authorizer_type": "signatory_director"\
            }\
          ]
    },
    "mcc": {
        "mcc_id": "2zYroPJ75",
        "mcc_code": "1520",
        "mcc_desc": "General Contractors – Residential and Commercial",
        "risk_type": "low"
    },
    "kyc_checks": {
        "name": "simplified"
    },
    "is_field_verify": false
}
```

200: Success Response

401: Permission denied

Failure Response

```json
{
  "success": true,
  "message": "Merchant created successfully",
  "data": {
    "merchant_ref_id": "TUTMALA00006",
    "email": "gowtham@gmail.com",
    "phone": "8710308721",
    "name": "Gowtham",
    "reseller_trade_name": "Deepak Trade",
    "client_type": {
      "code": "O96ty9TSb",
      "name": "Airlines"
    },
    "entity_type": {
      "code": "Vmtpxzpct",
      "name": "Public Limited"
    },
    "business": {
      "name": "Tutelar",
      "pan": "CUTTY0987H",
      "address": "Chennai",
      "gst": "33AAHCV5397D1U8",
      "aadhar": "909088183490"
    },
    "mcc": {},
    "kyc_checks": {
      "name": "simplified"
    },
    "is_field_verify": true
  }
}
```

```json
{
    "message": "Invalid authentication credentials"
}
```

```json
{
    "success": false,
    "message": "KYC product not subscribed!",
    "code": "failure"
}

{
    "success": false,
    "message": "Merchant reference id already exist",
    "code": "failure"
}

{
    "success": false,
    "message": "kyc checks should not be empty/invalid",
    "code": "failure"
}
```


---

# 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://docs.v2.tutelar.io/onboarding-kyc.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.
