NAV
shell python java

Getting Started ?

Check our [xlr8] page to know more about our product.
Production url
https://api.lendingkart.com

Swagger link

Click on this link for swagger page.

Introduction

Welcome to Lendingkart Partner API documentation. This documentation provides access to the end to end Lendingkart Partner API suite. Integrate our APIs quickly to enable Lendingkart loan journey in your platforms to provide a unique experience to your customers.

Below is a high level representation of Lendingkart Loan journey. Our APIs help you to interact with different steps in the loan journey.

image1

Lead Dedupe Status

curl -X POST --header 'Content-Type: application/json' 
--header 'Accept: application/json' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd'
 -d 
 '{ \ 
   "mobile": "6666698762", \ 
   "email": "Bala.Ganeshtest1%40example.com" \ 
 }' 'https://lkext.lendingkart.com/v2/partner/leads/lead-exists-status'
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/lead-exists-status"
payload="{"mobile":"6666698762","email":"Bala.Ganeshtest1%40example.com"}"
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, 
"{"mobile":"6666698762","email":"Bala.Ganeshtest1%40example.com"}";
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/lead-exists-status")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();

Output Response (if lead exists)

{
  "applicationId": "String",
  "leadExists": true
}

Output Response (if lead is unique)

{
  "applicationId": null,
  "leadExists": false
}

The API returns whether a lead pushed to Lendingkart would be accepted or rejected by lead dedupe logic based on two input parameters (email id and phone number). It checks whether the lead request sent is a duplicate of an already existing active lead in the system. If the API returns ‘False’, then please proceed with Application Creation API(Documentation below) to submit your application details to Lendingkart. In case the API returns ‘True’, then it indicates that Lendingkart will not be able to proceed further with these details at the moment as there is already an active lead in the system. The API returns Application ID in case the previous lead was pushed from your lead source only.

HTTP Request

POST https://lkext.lendingkart.com/admin/lead/v2/partner/leads/lead-exists-status

Parameter

Parameter Description Data Type Required
email Customer’s email address String true
mobile Customer’s mobile number String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

Try it!

Application creation

curl -X POST --header 'Content-Type: application/json' 
--header 'Accept: text/plain' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd' 
-d 
'{
  "firstName": "Bala",
  "lastName": "Ganesh",
  "email": "Bala.Ganeshtest1@example.com",
  "mobile": "6666698762",
  "businessRevenue": 5000000,
  "businessAge": 24,
  "registeredAs": "Proprietorship",
  "personalDob": "1990-05-21",
  "personalPAN": "ARTPA1156H",
  "gender": "MALE",
  "cibilConsentForLK": true,
  "mobileNoVerified": true,
  "personalAddress": {
    "ownership": "string",
    "address": "4/5, Race Course Road",
    "city": "Coimbatore",
    "state": "TamilNadu",
    "pincode": "641041"
  },
  "businessRunBy": "Self",
  "loanAmount": 100000,
  "typeOfLoan": "INSTANT",
  "companyName": "Sakthi Enterprises",
  "businessAddress": {
    "ownership": "string",
    "address": "4/5, Race Course Road",
    "city": "Coimbatore",
    "state": "TamilNadu",
    "pincode": "641041"
  },
  "loanNeedTime": "After 2 weeks",
  "uniqueId": "string",
  "otherFields": {}
}'
'https://lkext.lendingkart.com/v2/partner/leads/create-application'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{{
  "firstName": "Bala",
  "lastName": "Ganesh",
  "email": "Bala.Ganeshtest1@example.com",
  "mobile": "6666698762",
  "businessRevenue": 5000000,
  "businessAge": 24,
  "registeredAs": "Proprietorship",
  "personalDob": "1990-05-21",
  "personalPAN": "ARTPA1156H",
  "gender": "MALE",
  "cibilConsentForLK": true,
  "mobileNoVerified": true,
  "personalAddress": {
    "ownership": "string",
    "address": "4/5, Race Course Road",
    "city": "Coimbatore",
    "state": "TamilNadu",
    "pincode": "641041"
  },
  "businessRunBy": "Self",
  "loanAmount": 100000,
  "typeOfLoan": "INSTANT",
  "companyName": "Sakthi Enterprises",
  "businessAddress": {
    "ownership": "string",
    "address": "4/5, Race Course Road",
    "city": "Coimbatore",
    "state": "TamilNadu",
    "pincode": "641041"
  },
  "loanNeedTime": "After 2 weeks",
  "uniqueId": "string",
  "otherFields": {}
}}");
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/create-application")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "text/plain")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/create-application"
payload="{
  "firstName": "Bala",
  "lastName": "Ganesh",
  "email": "Bala.Ganeshtest1@example.com",
  "mobile": "6666698762",
  "businessRevenue": 5000000,
  "businessAge": 24,
  "registeredAs": "Proprietorship",
  "personalDob": "1990-05-21",
  "personalPAN": "ARTPA1156H",
  "gender": "MALE",
  "cibilConsentForLK": true,
  "mobileNoVerified": true,
  "personalAddress": {
    "ownership": "string",
    "address": "4/5, Race Course Road",
    "city": "Coimbatore",
    "state": "TamilNadu",
    "pincode": "641041"
  },
  "businessRunBy": "Self",
  "loanAmount": 100000,
  "typeOfLoan": "INSTANT",
  "companyName": "Sakthi Enterprises",
  "businessAddress": {
    "ownership": "string",
    "address": "4/5, Race Course Road",
    "city": "Coimbatore",
    "state": "TamilNadu",
    "pincode": "641041"
  },
  "loanNeedTime": "After 2 weeks",
  "uniqueId": "string",
  "otherFields": {}
}"
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)

Output Response (Response Code:200)

1. {
    "leadId": "32433",
    "applicationId": "LAI-109966675",
    "message": "ELIGIBLE",
   “uniqueid”: 34567654,
   }
2. {
    "leadId": "32431",
    "applicationId": "LAI-109966674",
    "message": "INELIGIBLE",
   “uniqueid”: 34567654,
   }
3. {
    "leadId": "32432",
    "applicationId": null,
    "message": "Application or lead already exist with us",
   “uniqueid”: 34567654,
   }
4. {
    "leadId": "103600",
    "applicationId": null,
    "message": null,
    "errorMessageList": [
    "Unable to create application for this leadId "
    ]
   “uniqueid”: 34567654,
   }

The API creates an application in the Lendingkart system on success. API requires fields highlighted in ​ Red mandatorily for application creation. The rest of the application fields are required for application completion to move further in our loan journey - Please share the maximum available customer data available at your end overlapping with our input fields to fast track loan application process without any manual intervention with customers. If you don't have any of the non mandatory fields - it is ok to not pass them in the request string or just pass as null (null as value not “null” as string). Please refer to this link for understanding the list of fields we require for application completion.

Upfront Rejection Criterion
1. Business Age - We have a minimum cap for ​ vintage / age of business​ AS ​ 3 months​ . Requests having this field’s value less than or equal to 3 Months would be rejected (lead ID and application ID both will be created)
2. Business Revenue - We have a minimum cap for ​ revenue / Last 12 months sales​ AS ​ 3 lakhs​ . Requests having this field’s value less than equal to 3 lakhs would be rejected (lead ID and application ID both will be created)
3. Duplicacy - If lead sent in the request is a duplicate of an already existing lead in the system then it checks if the old lead is still active. If this is the case then the lead which is sent in the request is rejected (new lead would be created, application won't be created). We recommend that you use our Lead Dedupe API first before triggering Application Creation API to avoid lead rejections.

HTTP Request

POST https://lkext.lendingkart.com/v2/partner/leads/create-application

Parameter

Parameter Description Data Type Required Regex
firstName Customer’s first name String true ^[\p{L} .'-]+$
lastName Customer’s lastName name String true ^[\p{L} .'-]+$
mobile Customer’s mobile number String true ^[6-9]{1}[0-9]{9}$
email Customer’s email address String true ^[_A-Za-z0-9-​ \​ +]+(​ \​ .[_A-Za-z0-9-]+)@[A-Za-z0-9-]+(​ \​ .[A-Za-z0-9]+)(​ \​ .[A-Za-z]{2,})$
companyEmail Customer’s company email address String true ^[_A-Za-z0-9-​ \​ +]+(​ \​ .[_A-Za-z0-9-]+)@[A-Za-z0-9-]+(​ \​ .[A-Za-z0-9]+)(​ \​ .[A-Za-z]{2,})$
companyGstNumber Customer’s company GST number(accepts null value) String false ^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[A-Z0-9]{1}[A-Z]{1}[A-Z0-9]{1}$
companyPAN Customer’s companys pan(accepts null value) String false [A-Z]{3}[C,H,A,B,G,J,L,E,F,T]{1}[A-Z]{1}[0-9]{4}[A-Z]{1}
personalPAN Customer’s personal pan(accepts null value) String false [A-Z]{3}[P]{1}[A-Z]{1}[0-9]{4}[A-Z]{1}
personalAadhaar Customer’s aadhar number(accepts null value) String false [0-9]{12}
personalDob Customer’s date of birth(accepts null value) String false YYYY-MM-DD
companyServiceTaxNumber Customer’s companys tax number(accepts null value) String false ^[A-Z]{5}[0-9]{4}[A-Z]{1}[S]{1}[D

Other Parameter (enum values)

1. registeredAs(required)
  • Proprietorship
  • Partnership
  • Pvt. Ltd
  • LLP
  • Limited Company
  • One Person Company
  • Not Registered
2. businessRunBy(required)
  • Self
  • Spouse
  • Relative
  • Parent
  • Others
2. productCategory(required)
  • "Advisory services (legal, business, educational, psychological etc.)"
  • "Aircel distributor / R-com distributor"
  • "Apparel, Readymade garments"
  • "Arms and ammunition dealers"
  • "Arts, design and other creative services"
  • "Automobile accessories / service centre"
  • "Automotive parts"
  • "BPO/KPO & facility management"
  • "Bar / Liquor"
  • "CSC, photocopying and other documents and ID (Aadhar, PAN) related services, Kisan seva kendra"
  • "Cab Services"
  • "Camera, CCTV and related accessories"
  • "Cargo and retail transport service"
  • "Chain restaurant / verified income"
  • "Chemist, Retail health accessories, medicines and supplements"
  • "Clinics, hospital,nursing home, lab, gym, pet clinic etc."
  • "Computer, Mobile and related accessories"
  • "Computer, mobile and camera repairing service"
  • "Construction equipment including building, road, sewage etc."
  • "Construction material like cement, bricks, sand etc"
  • "Corporate services / Corporate bookings"
  • "Cotton bales, Textile manufacturing"
  • "Countdown Timers, Electronic Scoreboards and Digital Clocks"
  • "Courier"
  • "Design, Fabrication & Painting Services"
  • "Distributor of cooking/commercial Gas"
  • "Eco-friendly solutions for industry (solar, greenhouse, biomass, recycling, etc.)"
  • "Edible Oil business"
  • "Educational Institute (Pre-school, school, college, coaching center, library etc.)"
  • "Educational products (books, educational toys, stationeries, e-learning etc.)"
  • "Electronic sensors, devices"
  • "Entertainment Event"
  • "Equipment used in agriculture"
  • "Event Management"
  • "Fabric (woven and non-woven) & textiles"
  • "Facility Management Services"
  • "Fibres, threads, buttons and other raw materials supplier to textile industry"
  • "Film Producer"
  • "Financial service providers (Chit funds/ small finance companies/Stock broking Companies)"
  • "Financial service providers (DSA,agents and other intermediators)"
  • "Financial service providers (NBFCs/ Other money lending companies)"
  • "Fire fighting equipment, safety materials"
  • "Footwear, bags, cosmetics and other fashion accessories"
  • "Freight forwarding services"
  • "Furniture & Fixtures (including on rent)"
  • "Grocery/ Kirana store / Departmental Store"
  • "Hardware & Fittings (ceramics, tiles, cables, lights etc.)"
  • "Hardware provider to telecom industry"
  • "Heavy machineries & Robotics"
  • "Home & Kitchen Appliances"
  • "Home Decor, interior items, kitchen accessories, toys, gift articles"
  • "Hotels, resorts and club"
  • "Housekeeping products"
  • "Housekeeping, security & industrial labour supply"
  • "Imitation jewellery"
  • "Industrial and customized software, applications and ITES"
  • "Installation and repair services for telecom products"
  • "Intelligence Agencies/ Private Security Firms"
  • "Interior Designers"
  • "Jewellery, precious metals and stones"
  • "Material handling service provider"
  • "Medical, non-medical & wellness equipments"
  • "Mining & Mining Products"
  • "Mobile and related accessories"
  • "Mobile recharge, Telecom, DTH, data service provider (telephone, internet,broadband, ISP, leased line etc.)"
  • "Musical Instruments, bulbs, tubelights"
  • "Networking, storage, data management and other support services"
  • "Non-metal products like wood, paper, plastic, glass, etc"
  • "Oils, Paint, Chemicals and petroleum products"
  • "Other metals, alloys, minerals and their scraps"
  • "Others"
  • "Outdoor furniture (swings etc.)"
  • "Outsourced consultancy (recruitment, research, placement, transcription, visa etc.)"
  • "Pet Shop, Pet Clinic & Pet Grooming Parlour"
  • "Petrol pump & Gas station"
  • "Power"
  • "Professional services (branding, media, architecture, saloon, beauty parlour etc.)"
  • "Property dealing & management (Rent, lease or Sell)"
  • "Raw materials and parts used for manufacturing"
  • "Real estate developer, Civil contractor"
  • "Renewal (other than Via)"
  • "Repair and maintenance services"
  • "Repair and servicing of household appliances"
  • "Restaurants, Cafes, food outlets & catering"
  • "Retail and standard softwares, applications and ITES"
  • "Seeds, Fertilizer, Pesticides, Cattle feeds and agricultural products"
  • "Shares/Bitcoins/Old coins trading or Other speculative activities"
  • "Shipping Services"
  • "Supplier for switches,cables etc"
  • "Support services (facilitators, intermediators, agents, etc.)"
  • "Support services to industries like industrial design, warehousing, testing, repairing etc."
  • "Tax planners / Auditors"
  • "Tea / coffee vending machine & Tea / Coffee powder to Government / corporates"
  • "Ticket, Travel & Tour Packages"
  • "Tobacco Products"
  • "Tools and equipments including electricals,transformers, inverters and batteries"
  • "Vegetables, Fruits, Milk and other dairy products, Spices, Sea-food and food-processing"
  • "Vehicles (New/second hand)"
  • "Via cases"

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

Try it!

Document upload

curl -X POST --header 'Content-Type: multipart/form-data' 
--header 'Accept: */*' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd'
 {"type":"formData"} 
'https://lkext.lendingkart.com/v2/partner/leads/documents
?applicationId=LAI-110081529&
documentType=BankStatement-Company&bankName=ABPB'
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/document-status
  ?applicationId=LAI-110081529&context=PRE_TERMS")
  .method("GET", null)
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/document-status
?applicationId=LAI-110081529&context=PRE_TERMS"
payload={}
headers = {
'Accept': 'application/json',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

   no response

This API enables document upload functionality for partners. Collection of documents from customers in the right format is a time consuming process which often leads to delay in the application process. We require 3 standard documents for generating loan offers - ​ PAN Card of primary applicant​ , ​ Registration proof(GST Certificate)​ of business and ​ Last 12 Months Bank statement​ . We ask for more documents based on the application type. Please refer to the this link for detailed document checklist rules.

HTTP Request

POST https://lkext.lendingkart.com/admin/lead/​v2/partner/leads/documents/{applicationId}/{documentType}

Query Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true
documentType document type which customer wants to upload String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

A. Document Upload API in case of Bank Statement

Bank statement is the most important document required for the Loan decision process. A bank statement not fulfilling the required criteria leads to delay in evaluation due to pendencies raised. To ensure that you source the Bank statement in our desired format, please follow the section in detail. Bank statement upload can happen in two ways

  1. Net banking PDF of last 12 months downloaded by users (Document type is mandatory. Rest of the fields are optional. We recommend sharing the other fields such as password in the API to ensure that our automation parser runs on the document without failure even when files are password protected) link

image1

B. Net banking XLSX file provided by Perfios

Perfios provides Netbanking output file in XLS format when the user logs into Netbanking

image1

curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'X-Api-Key: f3a25750-1e7f-4c34-84ae-c8ca92f1d211' {"type":"formData"} 'https://lkext.lendingkart.com/v2/partner/leads/documents?applicationId=LAI-110081529&documentType=​ BankStatementPerfios​ &bankName=ABNA&bankAccountNo=38423823781&password=12334'

click here for bank enum values

HTTP status Code Reason Response Model
200 ok {}
201 Created {}
400 Because of invalid or missing ApplicationId. Some common error messages are "ApplicationId not found" , "Invalid ApplicationId ", "Cannot read attachment for applicationId" {
"errorCode": 100,
"message": "mobile may not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Application status

curl -X GET --header 'Accept: application/json' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd'
'https://lkext.lendingkart.com/v2/partner/leads/applicationStatus
/LAI-110081529'
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/applicationStatus
   /LAI-110081529")
  .method("GET", null)
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/applicationStatus
/LAI-110081529"
payload={}
headers = {
'Accept': 'application/json',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

{
  "applicationStatus": "Terms Created",
  "applicationSubStatus": "TnC Sent",
  "rejectionReasons": "null",
  "instantLoan": "FALSE",
  "loanDeliveryMethod": "ZERO_TOUCH"
}

This API provides present application status and detailed messages of applications to partners. This API also returns rejection reasons for applications which are in rejected status.

HTTP Request

GET https://lkext.lendingkart.com/v2/partner/leads/applicationStatus/{applicationId}

Query Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

image1

Status, Sub status and Rejections Reasons - Master list

Please find the list of status and sub status master values returned by Application Status API. Please note that this list would be updated as and when new status/sub status/Rejection reasons would be added in the system. Please use this list for your reference. Please use the ‘​ Status Sub status flow handling​ ’ Tab to anchor user journey on your platforms based on guidelines provided. Currently, the push version of Status API does not exist, so we recommend polling of Status API after the suggested intervals mentioned in the sheet. We recommend only using the status values.

HTTP status Code Reason Response Model
200 ok {}
400 Because of invalid or missing ApplicationId. {
"errorCode": 100,
"message": "application id not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Document Status

curl -X GET --header 'Accept: application/json' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd' 
'https://lkext.lendingkart.com/v2/partner/leads/document-status
?applicationId=LAI-110081529&context=PRE_TERMS'
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/document-status
  ?applicationId=LAI-110081529&context=PRE_TERMS")
  .method("GET", null)
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/document-status
?applicationId=LAI-110081529&context=PRE_TERMS"
payload={}
headers = {
'Accept': 'application/json',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

[
{
"documentType": "Bank Statement",
"latestVerificationStatus": "PENDING",
"documents": [
{
"documentTag": "BankStatement-Director/Properiotor/Partner",
"latestVerificationDate": "2020-09-10T06:46:48.000+0000",
"pendencyDetails": [
{
"verificationStatus": "PENDING",
"autoGenText": "Savings account statement of Axis Bank from 03-02-2015 to 03-02-2016 in original PDF format only",
"verificationDate": "2020-09-10T06:46:47.945+0000",
"uuid": "2b31b6b7-ed2d-406a-86ee-620a427d4123"
}
]
}
]
},
{
"documentType": "Registration Proof",
"latestVerificationStatus": "APPROVED",
"documents": [
{
"documentTag": "AuditedFinancials-RegProof","latestVerificationDate": "2020-09-10T06:36:22.000+0000",
"pendencyDetails": [
{
"verificationStatus": "APPROVED",
"autoGenText": "Copy of valid Audited Financials",
"verificationDate": "2020-09-10T06:36:21.655+0000",
"uuid": "c7d51229-a0b2-4f1f-b372-728026ddf604"
}
]
},
{
"documentTag": "DrugLicFdDrugControlCert-RegProof"
},
{
"documentTag": "FSSAICertificate-RegProof"
},
{
"documentTag": "GSTCertification-RegProof"
},
{
"documentTag": "GumastaCertificate-RegProof"
},
{
"documentTag": "IECLicense-RegProof"
},
{
"documentTag": "LabourDept-RegProof"
},
{
"documentTag": "Others-RegProof"
},
{
"documentTag": "RCunderMunicipality-RegProof"
},
{
"documentTag": "ShopEstablishmentAct-RegProof"
},
{
"documentTag": "TaxCertificateNonGST-RegProof"
},
{
"documentTag": "UdyogAadhaar-RegProof"
}
]
},
{
"documentType": "Proprietor PAN",
"latestVerificationStatus": "PENDING",
"documents": [
{
"documentTag": "PanCard-Personal",
"latestVerificationDate": "2020-09-10T06:35:51.000+0000",
"pendencyDetails": [
{
"verificationStatus": "PENDING",
"autoGenText": "PAN of Rahul Kumar",
"verificationDate": "2020-09-10T06:35:51.441+0000",
"uuid": "06a940cb-b034-4642-8ffe-1be01966040a"
}
]
}
]
}
]

This API provides document status and any document pendencies raised for an application. Please refer to document types enums in this sheet below.

How to use this API

Based on the stage an application is in, use this API with ‘PRE_TERMS’ or ‘POST_TERMS’ or ‘ALL’ to fetch the updated pendencies on documents required to complete the respective stage. ‘PRE_TERMS’ refers to the stage prior to Loan offer and returns document status details only of those documents that are required for decision. ‘POST_TERMS’ refers to the stage post Offer Acceptance related to KYC. ‘ALL’ returns the document status of all the relevant documents required for the application.

HTTP Request

GET https://lkext.lendingkart.com/admin/lead/​v2/partner/leads/document-status/{applicationId}/{context}

Query Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true
context: Customer’s application context (either PRE_TERMS,POST_TERMS,ALL) String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

Response Fields

Field Description Example values
documentType Type of document "Bank Statement"
latestVerificationStatus Final status of the document type "PENDING" or "SUBMITTED" or "APPROVED"
documents list of all type of documents that can be uploaded for the given doc type [
{
"documentTag": "BankStatement-Director/Properiotor/Partner",
"latestVerificationDate": "2020-09-10T06:46:48.000+0000",
"pendencyDetails": [
{
"verificationStatus": "PENDING",
"autoGenText": "Savings account statement of Axis Bank from 03-02-2015 to 03-02-2016 in original PDF format only",
"verificationDate": "2020-09-10T06:46:47.945+0000",
"uuid": "2b31b6b7-ed2d-406a-86ee-620a427d4123"
}
]
}
]
documentTag document type enum used in document upload api "PanCard-Personal"
latestVerificationDate latest verification date of that document tag "2020-09-10T06:35:51.000+0000",
pendencyDetails List of all the pendencies generated "Bank Statement"
verificationStatus: status of a pendency Values "PENDING" or "SUBMITTED" or "APPROVED"
autoGenText text that states the requirement "PAN of Rahul Kumar"
verificationDate Date of last verification of the pendency "2020-09-10T06:35:51.000+0000"
uuid unique identifier of the pendency "06a940cb-b034-4642-8ffe-1be01966040a"

image1

HTTP status Code Reason Response Model
200 ok {}
400 Because of invalid or missing ApplicationId. {
"errorCode": 100,
"message": "application id not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Terms Sanction

curl -X GET --header 'Accept: application/json' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd' 
'https://lkext.lendingkart.com/v2/partner/leads/termsAndConditions
/LAI-110081529'
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/termsAndConditions
  /LAI-110081529")
  .method("GET", null)
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/termsAndConditions
/LAI-110081529"
payload={}
headers = {
'Accept': 'application/json',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

{
"calculationMethod": "Declining Balance",
"disbursalAmount": 144559,
"documentationCharges": 0,
"installmentAmount": 1145,
"insuranceCharges": 0,
"interestRate": 10,
"loanAmount": 146343,
"mailNumber": "M0",
"period": "MONTHLY",
"prePaidFeePercentage": 0,
"gst": 18,
"tenure": 6,
"annualizedInterestRate": 0,
"status": null,
"dateOfGeneration": "2018-04-05T08:15:08.000+0000",
"crossSellTypeMap": {
"IHO": {
"displayValue": "Health & Wellness",
"amount": 1694.92,
"gst": 305.08,
"amountWithGst": 2000.0
}
}
}

This API provides the latest offer for the application. Overall offer comprises different components. Disbursed Amount is a function of Sanctioned amount, Documentation charges, Insurance charges, Processing Fees and Cross sell charges. You dont have to re-calculate the values and directly consume the values in your platforms.

HTTP Request

GET https://lkext.lendingkart.com/admin/lead/​v2/partner/leads/termsAndConditions/{applicationId}

Query Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

Response Fields

Offer Component Field Description Data type Sample Values
Sanctioned Amount loanAmount Loan amount sanctioned number 1035000
Insurance Charges
(Without GST)
insuranceCharges Charges deducted for insurance number 28235
Documentation Charges
(Without GST)
documentationCharges Charges deduced for documentation number 5700
Processing Fees
(Without GST)
PrepaidFeepercentage Processing fee charges.This is returned as % number 2.5
Health and Wellness charges crossSellTypeMap.IHO Object containing details of charges for health and wellness(IHO). In case, IHO is not applicable for this terms offer, then this key ‘IHO’ will not be present in the field ‘crossSellTypeMap’. number 2000
Health and Wellness charges
(Without GST)
crossSellTypeMap.IHO.amount IHO coupon price number 1694.92
GST component of Health & Wellness crossSellTypeMap.IHO.gst GST rate for above IHO coupon price number 305.08
Health and Wellness charges
(With GST)
crossSellTypeMap.IHO.amountWithGst IHO coupon price
(with GST).
number 2000
GST gst GST to be added to all components in % number 18
Disbursal Amount disbursalAmount Final disbursal Amount to customer number 962423
Terms Version mailNumber Version number for Offer String m0
EMI instalmentAmount EMI on offer number 49450
Interest Rate interestRate Loan Interest Rate in % number 2
Tenure tenure Loan Tenure number 36
Annualized Interest Rate annualizedInterestRate Annualized Interest Rate number 39.43
Date of Generation dateOfGeneration Terms Generation date String "2018-04-05T08:15:08.000+0000"
Period period Frequency String monthly
Calculation Method calculationMethod Declining/Reducing String Declining

HTTP status Code Reason Response Model
200 ok {}
400 Because of invalid or missing ApplicationId. {
"errorCode": 100,
"message": "application id not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Terms acceptance

curl -X PUT --header 'Content-Type: application/json' 
--header 'Accept: application/json' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd'
-d 
'{
  "applicationId": "LAI-110081529",
  "channel": "string",
  "response": "Accepted",
  "callbackDateTime": "2019-04-05T08:15:08.000+0000"
}'
'https://lkext.lendingkart.com/v2/partner/leads
  /termsAndConditions/acceptance'
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{
  "applicationId": "LAI-110081529",
  "channel": "string",
  "response": "Accepted",
  "callbackDateTime": "2019-04-05T08:15:08.000+0000"
}');
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads
  /termsAndConditions/acceptance")
  .method("PUT", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads
/termsAndConditions/acceptance"
payload='{
  "applicationId": "LAI-110081529",
  "channel": "string",
  "response": "Accepted",
  "callbackDateTime": "2019-04-05T08:15:08.000+0000"
}'
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

{
"status": "Approved",
"message": "Thank you for accepting the terms of loan.Our team will give you a call shortly to confirm the accepted loan terms. Once
confirmed,your loan agreement will be dispatched to you."
}

Output Response (Response code:404)

{
"errorCode": 104,
"message": "Terms Data not found for this Application."
}

This API enables terms Acceptance / Rejection / Call Back requests based on the terms offer. Ensure that you query the latest terms offer using the Terms and Conditions API before accepting or rejecting the terms.

HTTP Request

PUT ​ https://lkext.lendingkart.com/admin/lead/v2/partner/leads/termsAndConditions/acceptance

Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true
response Customer’s response for the terms
(“Accepted” or “Declined” or “Callback Requested”)
String true
callbackDateTime Terms accepted date time String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

HTTP status Code Reason Response Model
200 ok {}
400 Because of invalid or missing ApplicationId. {
"errorCode": 100,
"message": "application id not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Download agreement

curl -X GET --header 'Accept: /' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd' 
'https://lkext.lendingkart.com/v2/partner/leads/agreement
/LAI-110081529/download'
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/agreement
  /LAI-110081529/download")
  .method("GET", null)
  .addHeader("Accept", "/")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/agreement
/LAI-110081529/download"
payload={}
headers = {
'Accept': '/',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

  no content

Output Response (Response code:404)

{
"errorCode": 104,
"message": "Loan not found for given applicationId :LAI-1099994512"
}

Output Response (Response code:503)

{
"errorCode": 103,
"message": "Unable to read/write the file"
}

This API will view/download the agreement generated for an application. Please call this API only when Application status changes to Agreement Stage.

HTTP Request

GET ​ https://lkext.lendingkart.com/admin/lead/v2/partner/leads/​ agreement/{applicationId}/{receiveType}

Query Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true
receiveType can take the values “view” or “download” (​ view will view the pdf on browser and download will download the pdf) String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

image1

HTTP status Code Reason Response Model
200 ok {}
400 Because of invalid or missing ApplicationId. {
"errorCode": 100,
"message": "application id not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Get disbursal data

curl -X GET --header 'Accept: application/json' 
--header 'X-Api-Key: aaaa-bbbb-cccc-dddd' 
'https://lkext.lendingkart.com/v2/partner/leads/disbursal-data/LAI-110081529'
OkHttpClient client = new OkHttpClient().newBuilder().build();
Request request = new Request.Builder()
  .url("https://lkext.lendingkart.com/v2/partner/leads/disbursal-data/LAI-110081529")
  .method("GET", null)
  .addHeader("Accept", "application/json")
  .addHeader("X-Api-Key", "aaaa-bbbb-cccc-dddd")
  .build();
Response response = client.newCall(request).execute();
import requests
url = "https://lkext.lendingkart.com/v2/partner/leads/disbursal-data/LAI-110081529"
payload={}
headers = {
'Accept': 'application/json',
'X-Api-Key': 'aaaa-bbbb-cccc-dddd'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)

Output Response (Response code:200)

{
"annualizedInterestRate": 41.7,
"calculationMethod": "Declining Balance",
"crossSellTypeMap": {
"IHO": {
"amount": 0,
"amountWithGst": 2000,
"applicable": true,
"crossSellType": "IHO",
"displayValue": "Health & Wellness",
"gst": 1694.91
}
},
"disbursalDate": "2020-07-21T00:00:00.000Z",
"documentationCharges": 6726,
"emiDetails": "emiDetails": {
"emiAmount": 113418,
"totalEmis": 5,"emisRemaining": 3,
"nextDueDate": null,
"emiEndDate": "2018-12-31T18:30:00.000Z"
}
,
"gst": 1486626.2711864407,
"installmentAmount": 88306,
"insuranceCharges": 14732,
"interestRate": 16.2,
"interestType": "Fixed",
"loanAmount": 1200000,
"loanBankAccountDetails": {
"accountHolderName": "S.S.D. MOBILE WORLD",
"accountNumber": "",
"accountType": "",
"bankName": "",
"branchName": ""
},
"loanDisbursalAmount": 1754219,
"loanId": "LNH.O00120-210000678",
"period": "MONTHLY",
"prePaidFeePercentage": 2.5,
"tenure": 24
}

Output Response (Response code:404)

{
"errorCode": 104,
"message": "Loan not found for given applicationId :LAI-1099994512"
}

Output Response (Response code:400)

{
"errorCode": 100,
"message": "Invalid application Id LAI-109953345"
}

This API provides the details related to disbursal of a loan. Please trigger this API only when the ‘Application Status’ returned by Status API is ‘Disbursed’.

HTTP Request

GET https://lkext.lendingkart.com/admin/lead/v2/partner/leads/disbursal-data/{applicationId}

Query Parameter

Parameter Description Data Type Required
applicationId Customer’s application id String true

Request Headers

Field Description Data Type Required
X-Api-Key your api authorization key String true

Response Fields

Disbursal Details
Components
Field Description Data type Sample Values
Loan ID loanAmount loanId String LAI-XXX
Sanctioned Amount loanAmount Loan amount sanctioned number 1035000
Insurance Charges
(Without GST)
insuranceCharges Charges deducted for insurance number 28235
Documentation Charges
(Without GST)
documentationCharges Charges deduced for documentation number 5700
Processing Fees
(Without GST)
PrepaidFeepercentage Processing fee charges.This is returned as % number 2.5
Health and Wellness charges crossSellTypeMap.IHO Object containing details of charges for health and wellness(IHO). In case, IHO is not applicable for this terms offer, then this key ‘IHO’ will not be present in the field ‘crossSellTypeMap’. number 2000
Health and Wellness charges
(Without GST)
crossSellTypeMap.IHO.amount IHO coupon price number 1694.92
GST component of Health & Wellness crossSellTypeMap.IHO.gst GST rate for above IHO coupon price number 305.08
Health and Wellness charges
(With GST)
crossSellTypeMap.IHO.amountWithGst IHO coupon price
(with GST).
number 2000
GST gst GST to be added to all components in % number 18
Disbursal Amount disbursalAmount Final disbursal Amount to customer number 962423
Terms Version mailNumber Version number for Offer String m0
EMI instalmentAmount EMI on offer number 49450
Interest Rate interestRate Loan Interest Rate in % number 2
Tenure tenure Loan Tenure number 36
Annualized Interest Rate annualizedInterestRate Annualized Interest Rate number 39.43
Date of Generation dateOfGeneration Terms Generation date String "2018-04-05T08:15:08.000+0000"
Period period Frequency String monthly
Calculation Method calculationMethod Declining/Reducing String Flat
emiDetails emiAmount Emi Amount to be paid number 49450
Total Emis totalEmis Total number of EMIs number 36
Remaining emis emis number of EMIs remaining number 36
Next Due Date nextDueDate Next EMI Due Date String 2018-12-18
Emi End Date emiEndDate Last EMI Due Date String 2021-12-18

image1

HTTP status Code Reason Response Model
200 ok {}
400 Because of invalid or missing ApplicationId. {
"errorCode": 100,
"message": "application id not be empty"
}
401 Unauthorized error.Because of incorrect "x-api-key" or you are trying to do some action which is not permitted for you. Some common error messages are "User not permitted", "Session data not found" {
"type": 0,
"error": "{\"0\": [\"User not permitted\"]}"
}
403 Forbidden
404 Loan not found for given applicationId
500 Internal server error

Try it!

Authentication

Onboarding Process

Please reach out to your SPOC from the Lendingkart Partnerships team to get your UAT API Key.

FAQs

1. How do I generate the API key ?

Please reach out to your SI team SPOC for generating your lead source and API key as part of onboarding process.

2. How do I test the APIs?

Once the team shares the UAT API key, complete the integration process and drop and email to Help.partnerdb@lendingkart.com for final signoff on your API integration.

3. How do I get the Prod API key?

Once the UAT test integration is approved by Lendingkart team after testing the end to end flow, Production key will be shared.

4. I am using APIs to input Application data along with Documents. How do I track the data ?

Login to your partner dashboard using the credentials shared for your channel and track the applications.

5. How do I track the Status of applications in my own platform ?

You can use the Application status and document status APIs to fetch the most recent status that can be shown on your platforms.

6. I am facing issues in Reconciliation. The Application data shown in Partner Dashboard isn't matching to the API requests at our end.

Please mail us at Help.partnerdb@lendingkart.com and our team will help you in the reconciliation process.

7. How much time does it usually take for the API go live process ?

This completely depends on the effort required in integrating our APIs. We normally respond within 24 hours on your queries related to API integrations. We have seen Partners going live within one week.

8. I am not able to see all the leads I pass to Lendingkart on Partner dashboard. What is the issue here ?

Partner dashboard only shows non duplicate rejected leads recorded in the system. You can download the lead report to check all the exhaustive leads passed to the reconciliation.

Webhooks

Lendingkart uses webhooks to notify partners about any updates for their applications. Once you have registered for a webhook, you will be directly notified of any change, instead of having to make API calls repeatedly. Currently, we are using webhooks to notify about status updates of an application. On receiving this notification, you can then call the Application Status API to check the current status of that application.

We will deliver this notification via an HTTP POST request with JSON body, to the API endpoint given by the partner. This endpoint can have the following methods authentication methods:

Headers

content-type: application/json

Payload example:

{
   "applicationId": "LAI-123130248",
   "type": "STATUS_UPDATE"
}

Parameters

Field Description Required Data type Example values
applicationId applicationId for which the event has occurred true String LAI-1234
type type of event that has occurred. Possible value "STATUS_UPDATE" true String "STATUS_UPDATE"

To register you API endpoint for webhooks, reach out to us at help.partnerdb@lendingkart.com

Errors

The Lendingkart API uses the following error codes:

Error Code Meaning
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

Support

Please mail us at help.partnerDB@lendingkart.com.