{"info":{"_postman_id":"7950f5b2-0722-4e46-84b8-9dd66b090767","name":"Apollo Finvest: Loan Creation API V2-UAT","description":"<html><head></head><body><h1 id=\"apollo-finvest-loan-creation-api\">Apollo Finvest Loan Creation API</h1>\n<p>This request allows the partners to create a loan in Apollo's Loan Management System: Sonic.</p>\n<h2 id=\"overview\">Overview</h2>\n<p>Loans can be configured in innumerable amount of ways. At Apollo Finvest we support <strong><code>Personal Loans (Daily, Weekly, and Monthly Instalments), Microloans, Line of Credit, and Consumer loans.</code></strong> However, not every field within the payload of this request is required, and some are more important than others.</p>\n<ul>\n<li>This creates a loan with <code>customer information</code>, <code>loan information</code> and with necessary <code>document links</code> (S3) of the customer</li>\n<li>There are a few required details every partner has to pass through the Loan Create API as per the guidelines and compliance. All the extra details to be collected will be discussed and added to the APIs as part of the integration.</li>\n<li>Once the loan is created successfully it will return the <code>stage</code>, <code>loan_id</code> and <code>S3 link to KFS and Sanction letter</code> if this is enabled in the system</li>\n</ul>\n<p>Here's what else you need to know about this request:</p>\n<h4 id=\"note\">Note:</h4>\n<p>This is a post-request API for UAT/Test environment to create a loan in Apollo's database. After the successful integration of this API in UAT, we will provide you with the Production URL and credentials.</p>\n<h2 id=\"pre-requisites\">Pre-requisites</h2>\n<hr>\n<p>Before hitting this API, the partner will have to do the following:</p>\n<ul>\n<li>Upload documents on S3</li>\n<li>Hit the Apollo's Bureau API to get the S3 key of bureau documents</li>\n<li>Carry out the KYC process for the customer, upload the doc to Apollo's S3 and get the key</li>\n</ul>\n<h2 id=\"authenticationauthorisation\">Authentication/Authorisation</h2>\n<hr>\n<p><code>x-API-key</code> and access tokens should be sent in request headers for authenticating the request. Apollo will provide <code>x-API-key</code>. Access tokens should be generated by the partners. Therefore please generate a new access token using the below code piece. The token will expire in 5 minutes.</p>\n<p>Please refer to API collection to understand more...</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">import requests\nimport base64\nurl = \"will be shared by apollo\"\napp_client_id = \"will be shared by apollo\"\napp_secret = \"will be shared by apollo\"\nbasic = base64.b64encode((app_client_id+':'+app_secret).encode())\npayload = 'grant_type=client_credentials&amp;scope='\nheaders = {\n    'Authorization': 'Basic '+basic.decode(),\n    'Content-Type': 'application/x-www-form-urlencoded',\n}\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\nprint(response.json())\n\n</code></pre>\n<ul>\n<li>Content-Type = application/json</li>\n<li>x-api-key = ****</li>\n</ul>\n<h2 id=\"required-fields-in-request-body\">Required Fields In Request Body</h2>\n<hr>\n<blockquote>\n<p>The below attributes are important and must be required in the request to create a loan. New attributes can be collected and added to the API as per custom requirements from the partners. There are Validation has been added to all these fields and if there is any error in the requests the API will return the responses accordingly. </p>\n</blockquote>\n<h4 id=\"please-see-the-validations-for-all-the-inputs-and-loan-stage-movement\">Please see the validations for all the inputs and loan stage movement</h4>\n<ol>\n<li><a href=\"https://drive.google.com/file/d/1FzrEU3KbTlNL4kxSSDfAhVy3lVeuK2fX/view?usp=share_link\">Request values and responses</a></li>\n<li><a href=\"https://drive.google.com/file/d/179CsbLY-gNgyBAuFP1YLl0slMCFae7TQ/view?usp=sharing\">Request filed validations</a></li>\n</ol>\n<h3 id=\"required-key-values\"><strong>Required Key Values</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>action</td>\n<td>create</td>\n<td><strong><code>Required.</code></strong> This action is to create the loan. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>partner_tag</td>\n<td>Unique Partner Tag provided by Apollo</td>\n<td><strong><code>Required.</code></strong> This helps to identify the partner while loan creation. This is created by Apollo. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>loan_type</td>\n<td>PL/ML/CL</td>\n<td><strong><code>Required.</code></strong> Use the right input suitable for your product offering as decided. PL- Personal Loan, ML- Micro Loan, CL- Consumer Loan. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>partner_loan_id</td>\n<td>Unique Loan Id created and maintained by the partner</td>\n<td><strong><code>Required.</code></strong> This loan_id will be used to create the loan in LMS and works as an identifier between Apollo and Partner. It should not be more than <strong>10 digits</strong>. It is created by the partner. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>customer_information</td>\n<td>It contains different types of inputs such as first_name, age, state and bank details, etc. These are a few examples but there are more inputs we take at our end on the basis of partner and product type</td>\n<td><strong><code>Required.</code></strong> **<code>Object.</code>**The inputs are mostly the same for most of the partners and it can also collect more inputs if necessary.</td>\n</tr>\n<tr>\n<td>loan_information</td>\n<td>It contains complete information regarding the loan such as loan_amount, disbursement_date, emi_frequency, etc. A few fields may vary for ML product</td>\n<td><strong><code>Required.</code></strong> <strong><code>Object.</code></strong> The inputs are required and needed to be sent at the time of loan creation. The calculations can be taken from the amortization table shared</td>\n</tr>\n<tr>\n<td>document_urls</td>\n<td>Link to S3 bucket. \"TEST/PL/TEST/pan_card.json\"</td>\n<td>This should be <code>link</code> to Apollo's S3 bucket where the documents are uploaded. This can be <strong><code>Object</code></strong></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"customer-information-and-enums\"><strong>Customer Information and Enums</strong></h3>\n<p>In this section, the partner has to send all the necessary and required details of the borrower. These are a few fields mentioned here as an example, however, there can be more fields in the actual API based on the final business discussion. As mentioned above, these fields have validations and in case of any errors, it will return the response accordingly. The below-mentioned are the allowed values for a few fields. <code>Please go through the validation document attached above for a better understanding.</code></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>gender</td>\n<td>'male', 'female', 'other'</td>\n<td>**<code>Required.</code>**These are the only allowed values. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>marital_status</td>\n<td>'married', 'unmarried', 'divorced'</td>\n<td><strong><code>Required.</code></strong> These are the only allowed values. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>residence_type</td>\n<td>'owned', 'rented'</td>\n<td><strong><code>Required.</code></strong> These are the only allowed values. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>address_type</td>\n<td>'permanent', 'residence', 'office'</td>\n<td><strong><code>Required.</code></strong> These are the only allowed values. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>occupation</td>\n<td>'employed', 'self_employed'</td>\n<td><strong><code>Required.</code></strong> These are the only allowed values. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>bank_account_type</td>\n<td>'current', 'savings'</td>\n<td><strong><code>Required.</code></strong> These are the only allowed values. <strong><code>String</code></strong></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"loan-information\">Loan information</h3>\n<p>In this section of the loan request body, the partner needs to send the loan details which is an essential part of the loan creation. There are validations in these inputs as well. You can find more details in the validation file.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Request</strong></th>\n<th><strong>Values</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>disbursement_date</td>\n<td>\"06/05/2021\"</td>\n<td><strong><code>Required.</code></strong> <strong><code>Date String</code></strong></td>\n</tr>\n<tr>\n<td>emi_frequency</td>\n<td>Monthly/Custom. For ML it will be always \"Custom\"</td>\n<td><strong><code>Required.</code></strong> This will be based on the loan_type. <strong><code>String</code></strong> The frequency can be daily as well in case if partner has a daily installment product</td>\n</tr>\n<tr>\n<td>first_emi_date</td>\n<td>\"06/05/2021\"</td>\n<td><strong><code>Required.</code></strong> <strong><code>Date String</code></strong></td>\n</tr>\n<tr>\n<td>loan_amount</td>\n<td>11111</td>\n<td><strong><code>Required.</code></strong> <strong><code>Numeric Value</code></strong></td>\n</tr>\n<tr>\n<td>tenure</td>\n<td>3</td>\n<td><strong><code>Required.</code></strong> <strong><code>Integer value.</code></strong> '1' in case of ML</td>\n</tr>\n<tr>\n<td>loan_tenure_in_days</td>\n<td>90</td>\n<td><strong><code>Required.</code></strong> for ML only. <strong><code>Integer Value</code></strong></td>\n</tr>\n<tr>\n<td><strong>Fees</strong>- Processing_fee  <br>- Subvention Fee  <br>- Other Fee</td>\n<td>fee_amount = Numeric Value  <br>gst_amount = Numeric Value</td>\n<td><strong><code>Required.</code></strong> <strong><code>Numeric Value</code></strong> <strong><code>Object</code></strong> These are the different fees used by financial institutions in general and supported by Apollo. The structure as in fee and GST must be mentioned in the body of the API. It will be provided by Apollo.</td>\n</tr>\n<tr>\n<td>interest_rate</td>\n<td>0.18</td>\n<td><strong><code>Required.</code></strong> <strong><code>Numeric Value</code></strong>. It should be always in decimals.</td>\n</tr>\n<tr>\n<td>interest_type</td>\n<td>\"reducing\"</td>\n<td><strong><code>Required.</code></strong> This is the only allowed value. <strong><code>String</code></strong></td>\n</tr>\n<tr>\n<td>has_pre_emi</td>\n<td>true/false</td>\n<td><strong><code>Required.</code></strong> These are the only allowed values. <strong><code>True</code></strong> <strong>or</strong> <strong><code>False</code></strong></td>\n</tr>\n<tr>\n<td>partner_computed_disbursement_amount</td>\n<td>Disbursement amount calculated by Partner</td>\n<td>**<code>Required.</code>**This amount should match the amortization calculation shared by Apollo. <strong><code>Numeric Value</code></strong></td>\n</tr>\n<tr>\n<td>partner_computed_interest_amount</td>\n<td>Interest amount calculated by Partner</td>\n<td>**<code>Required.</code>**This amount should match the amortization calculation shared by Apollo. <strong><code>Numeric Value</code></strong></td>\n</tr>\n<tr>\n<td>partner_computed_pre-emi_amount</td>\n<td>Contains pre-emi value calculated by the partner if applicable</td>\n<td><strong><code>Required.</code></strong> This amount should match the amortization calculation shared by Apollo. <strong><code>Numeric Value</code></strong></td>\n</tr>\n<tr>\n<td>partner_computed_emi_amount</td>\n<td>EMI amount calculated by partner</td>\n<td><strong><code>Required.</code></strong> This amount should match the amortization calculation shared by Apollo. <strong><code>Numeric Value</code></strong></td>\n</tr>\n<tr>\n<td>non_mf_criteria</td>\n<td>true or false</td>\n<td><strong><code>Required.</code></strong> <strong><code>Boolean.</code></strong> Non-MF Criteria to state that the borrower is not in the micro-finance category. It should be <strong><code>true</code></strong> always</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"documents\">Documents</h3>\n<p>The partner has to upload all the required documents (as decided) into Apollo's S3 bucket and <code>send urls</code> in Loan Create API's request body. A few examples of the documents collected are PAN, Aadhaar xml, Selfie, etc. Apollo's system will validate whether we received all the documents in the S3 or not. For more information read the <strong>S3 Docs Upload section</strong> below.</p>\n<h4 id=\"format-of-the-documents\">Format of the documents</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Document</strong></th>\n<th><strong>Key</strong></th>\n<th><strong>Format</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PAN UIDAI</td>\n<td>\"pan_uidai_xml\"</td>\n<td>JSON</td>\n</tr>\n<tr>\n<td>Aadhar UIDAI</td>\n<td>\"aadhar_uidai_xml\"</td>\n<td>XML inside a Zip file with a password</td>\n</tr>\n<tr>\n<td>Bureau Report</td>\n<td>\"cibil\" or \"crif\"</td>\n<td>JSON</td>\n</tr>\n<tr>\n<td>Selfie</td>\n<td>\"selfie\"</td>\n<td>JPG or JPEG</td>\n</tr>\n<tr>\n<td>Liveliness</td>\n<td>\"liveliness_output\"</td>\n<td>JSON</td>\n</tr>\n<tr>\n<td>Bank Statement/Salary Slip</td>\n<td>\"salary_slip\" or \"bank_statement\"</td>\n<td>PDF or JPG or JPEG</td>\n</tr>\n<tr>\n<td>Loan Agreement</td>\n<td>loan_agreement</td>\n<td>PDF</td>\n</tr>\n<tr>\n<td>Signed KFS and Sanction Letter</td>\n<td>signed_sanction_letter_and_KFS</td>\n<td>PDF</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>document_urls = Contains S3 key of uploaded documents<br>eg: \"cibil\": \"partner_tag/loan_type/partner_loan_id/cibil.json\" </p>\n</blockquote>\n<h2 id=\"sample-request-body\">Sample Request Body</h2>\n<hr>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"partner_tag\": \"Unique Partner Tag provided by Apollo\",\n    \"action\": \"create\",\n    \"loan_type\": \"PL\",\n    \"partner_loan_id\": \"TEST2202\",\n    \"customer_id\": \"12345\",\n    \"loan_information\": {\n        \"disbursement_date\": \"19/11/2020\",\n        \"emi_frequency\": \"monthly\",\n        \"first_emi_date\": \"05/12/2020\",\n        \"loan_amount\": 5000.00,\n        \"tenure\": 1,\n        \"fees\": {\n            \"processing_fee\": {\n                \"fee_amount\": 250.00,\n                \"gst_amount\": 90.00\n            }\n        },\n        \"interest_rate\": 0.2268,\n        \"interest_type\": \"reducing\",\n        \"has_pre_emi\": false,\n        \"partner_computed_disbursement_amount\": 241150,\n        \"partner_computed_interest_amount\": 25660,\n        \"partner_computed_pre-emi_amount\": 0.00,\n        \"partner_computed_emi_amount\": 30629.00\n    },\n    \"customer_information\": {\n        \"first_name\": \"Deelip\",\n        \"last_name\": \"Kumar\",\n        \"aadhaar\": \"12121212\",\n        \"employee_name\": \"Sona Patel\",\n        \"address\": \"102, Sneha Apat, Andheri west, Mumbai Maharashtra 400090\",\n        \"permanent_address\": \"102, Sneha Apat, Andheri west, Mumbai Maharashtra 400090\",\n        \"date_of_birth\": \"12/09/1987\",\n        \"gender\": \"female\",\n        \"employment_status\": \"active\",\n        \"mtd_payable_days\": \"30\",\n        \"date_of_joining\": \"15/07/2012\",\n        \"net_salary\": \"34000\",\n        \"gross_salary\": \"38000\",\n        \"employer_name\": \"JK Store\",\n        \"emp_id\": \"1550\",\n        \"mobile_number\": \"7878654523\",\n        \"phone\": \"7878654523\",\n        \"bank_name\": \"HDFC Bank\",\n        \"bank_account_number\": \"50100211470817\",\n        \"bank_account_type\": \"savings\",\n        \"bank_account_name\": \"Sona Patel\",\n        \"ifsc_code\": \"HDFC0001046\",\n        \"pan\": \"AFGPL6787R\"\n    },\n    \"document_urls\": {\n        \"pan_uidai\": \"partner_tag/loan_type/partner_loan_id/pan.json\",\n        \"bank_statement\": \"partner_tag/loan_type/partner_loan_id/bank_statement.pdf\",\n        \"aadhar_uidai_xml\": \"partner_tag/loan_type/partner_loan_id/aadhar_uidai_xml.zip\",\n        \"cibil\": \"partner_tag/loan_type/partner_loan_id/loan_agreement.pdf\"\n    }\n}\n\n</code></pre>\n<h2 id=\"sample-responses\">Sample Responses</h2>\n<hr>\n<p>Once the loan is created successfully, a preliminary credit check will be done simultaneously. The following response will be provided along with S3 URL to the sanction letter and KFS (Key Fact Statement). The same can be used to display to the borrower for signing. After the signing, it must be uploaded to Apollo's S3. Also, the partner will get to the stage of the loan.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"loan successfully created\",\n    \"loan_type\": \"PL\",\n    \"partner_loan_id\": \"TEST2202\",\n    \"state\": \"document_check_pending\",\n    \"sanction_letter_and_KFS\": \"partner_tag/loan_type/TEST2202/sanction_letter_and_KFS.pdf\"\n}\n\n</code></pre>\n<p>If the partner_loan_id sent already exists in Apollo's system;</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"loan already exists with loan_type - PL and partner_loan_id-test1010\"\n}\n\n</code></pre>\n<p>If documents are not uploaded or S3 url to the particular doc is missing;</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Missing doc in s3 - loan_agreement\"\n}\n\n</code></pre>\n<h3 id=\"sanction-letter-and-kfs-flow\"><strong>Sanction letter and KFS Flow</strong></h3>\n<p>Once the loan is successfully created, and a preliminary credit check is done, S3 key/URL for the Sanction Letter and KFS will be added to the response. The KFS is a crucial document of the loan and important to show it to the borrower. If the signed Sanaction Letter-KFS and Loan Agreement (LA) are missing in Apollo's S3 the loan will not move to the next stages.</p>\n<p><code>The Loan agreement format must be shared by the partner and approved by Apollo Finvest.</code></p>\n<p>The <a href=\"https://drive.google.com/file/d/1YnJorcGVbTea4wUmpigUXGfSF5GvSOTm/view?usp=share_link\">Loan Stages Flow</a> and access to more related <a href=\"https://drive.google.com/drive/folders/1ZLf98nkPTIvLrszz2Xgf0MXuPxap1VIA?usp=share_link\">documents are here</a>.</p>\n<h4 id=\"the-ideal-steps-to-follow-for-sl-and-kfs\">The ideal steps to follow for SL and KFS:</h4>\n<ol>\n<li>Display Sanction Letter and KFS to the borrower taking the URL from the Loan Create API response</li>\n<li>Get it signed using click-wrap or such tools; It must have: Name, Time-stamp, and Unique device identification (IMEI/IP)</li>\n<li>Get the Loan Agreement signed by the borrower separately using OTP.</li>\n<li>Upload the signed Loan Agreement to S3 named \"<strong>loan_agreement</strong>\" and signed Sanction Letter and KFS as \"<strong>signed_sanction_letter_and_KFS</strong>\"</li>\n</ol>\n<blockquote>\n<p>Please note that the Sanction Letter and KFS will be available 99% of the time within 5 seconds on S3. </p>\n</blockquote>\n<p>The Sanction Letter and KFS can be downloaded any number of times using the same S3 Credentials shared by apollo.</p>\n<h2 id=\"daily-repayment-or-edi\">Daily Repayment or EDI</h2>\n<p>Daily repayment or EDI (Equated Daily Installment) is a type of loan repayment available within the Personal Loan as a sub-product. This allows the borrower to <strong><code>repay the loan on a daily basis</code></strong>. Please request the EDI API documentation in case you would like to integrate the product.</p>\n<h1 id=\"status-codes\">Status Codes</h1>\n<hr>\n<p>These are the common error codes pushed by the API in case of any errors</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>200</strong></td>\n<td>Successful Request</td>\n</tr>\n<tr>\n<td><strong>400</strong></td>\n<td>Invalid Request</td>\n</tr>\n<tr>\n<td><strong>401</strong></td>\n<td>Unauthorized (The incoming token has expired)</td>\n</tr>\n<tr>\n<td><strong>403</strong></td>\n<td>Forbidden (x-API-key is wrong or partner is not allowed to use this API)</td>\n</tr>\n<tr>\n<td><strong>404</strong></td>\n<td>When the doc is missing in the S3 bucket. \"Missing doc in S3 - \"key\". The Key can be Cibil/Adhaar doc</td>\n</tr>\n<tr>\n<td><strong>500</strong></td>\n<td>Internal Server Error (Rare)</td>\n</tr>\n<tr>\n<td><strong>504 bad gateway</strong></td>\n<td>The server is down. Please inform immediately to tech POC. You can retry within a few seconds</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"rate-limit\">Rate Limit</h1>\n<ul>\n<li><strong>Throttling</strong><br>  :10000 requests per second.</li>\n<li><strong>Quota</strong><br>  :Unlimited total number of API calls</li>\n</ul>\n<h1 id=\"sla-breakdown\">SLA breakdown</h1>\n<ul>\n<li><strong>Standard Support</strong><br>  : Apollo will provide standard technical support twenty-four (24) hours per day, five (5) days per week, excluding weekends and national Indian holidays. Standard Support will be offered via email.</li>\n<li><strong>Uptime commitment</strong><br>  : Uptime is the percentage of total possible minutes API was available during a fiscal year. Our commitment is to maintain at least 99.99% uptime:</li>\n<li><strong>Scheduled downtime</strong><br>  : Sometimes we need to perform maintenance to keep API working smoothly. If scheduled downtime is necessary, we’ll give you at least 48 hours advance notice. In a year, scheduled downtime won’t exceed 12 hours.</li>\n<li><strong>Updates</strong><br>  : As our business evolves, we may change our service level agreement. Customers can review the most current version of the service level agreement at any time by visiting this page.</li>\n</ul>\n<h1 id=\"address-state-list\">Address State List</h1>\n<p>The allowed values and inputs for address states are mentioned below;</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-plaintext\">\"BIHAR\"\n\"SIKKIM\"\n\"ARUNACHAL PRADESH\"\n\"NAGALAND\"\n\"MANIPUR\"\n\"MIZORAM\"\n\"TRIPURA\"\n\"MEGHALAYA\"\n\"ASSAM\"\n\"WEST BENGAL\"\n\"WESTBENGAL\"\n\"JHARKHAND\"\n\"ORISSA\"\n\"ODISHA\"\n\"CHHATTISGARH\"\n\"MADHYA PRADESH\"\n\"GUJRAT\"\n\"GUJARAT\"\n\"DAMAN &amp; DIU\"\n\"DAMAN AND DIU\"\n\"DADRA &amp; NAGAR HAVELI\"\n\"DADRA AND NAGAR HAVELI\"\n\"MAHARASHTRA\"\n\"ANDHRA PRADESH\"\n\"KARNATAKA\"\n\"GOA\"\n\"LAKSHADWEEP\"\n\"KERALA\"\n\"TAMIL NADU\"\n\"PONDICHERRY\"\n\"PUDUCHERRY\"\n\"ANDAMAN &amp; NICOBAR ISLANDS\"\n\"ANDAMAN AND NICOBAR ISLANDS\"\n\"TELANGANA\"\n\"APO ADDRESS\"\n\"JAMMU &amp; KASHMIR\"\n\"JAMMU AND KASHMIR\"\n\"HIMACHAL PRADESH\"\n\"PUNJAB\"\n\"CHANDIGARH\"\n\"UTTARANCHAL\"\n\"UTTARAKHAND\"\n\"HARYANA\"\n\"DELHI\"\n\"RAJASTHAN\"\n\"UTTAR PRADESH\"\n\n</code></pre>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Apollo Finvest Loan Creation API","slug":"apollo-finvest-loan-creation-api"},{"content":"Status Codes","slug":"status-codes"},{"content":"Rate Limit","slug":"rate-limit"},{"content":"SLA breakdown","slug":"sla-breakdown"},{"content":"Address State List","slug":"address-state-list"}],"owner":"16291369","collectionId":"7950f5b2-0722-4e46-84b8-9dd66b090767","publishedId":"2s93sXbZST","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2023-06-05T08:07:48.000Z"},"item":[{"name":"S3 DOCS upload","item":[],"id":"5ebb8dd2-8a9a-4f80-a026-e3a624ce4fdb","description":"<h1 id=\"upload-documents-on-s3-using-aws-sdks\"><strong>Upload Documents on S3 using AWS SDKs</strong></h1>\n<ul>\n<li>We will provide the AWS Access Key and AWS Secret Access Key to upload the documents.</li>\n<li>In the <strong>UAT environment</strong>, use the <strong>apollo-cacms-staging</strong> bucket.</li>\n<li>In the <strong>production environment</strong>, the bucket will be <strong>prosper-s3-with-lambda</strong>.</li>\n<li>The object <strong>Key</strong> for uploading the documents in both environments should be <strong>partner_tag/loan_type/partner_loan_id/file_name_with_extension</strong></li>\n</ul>\n<p>You can use the AWS SDK to upload objects in Amazon S3. The SDK provides wrapper libraries for you to upload data easily. We have listed some of the most popularly used. For information, see the <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html#API_PutObject_SeeAlso\">List of supported SDKs</a>.</p>\n<h3 id=\"format-to-follow-while-uploading-the-document\">Format to follow while uploading the document</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Document</strong></th>\n<th><strong>Key</strong></th>\n<th><strong>Format</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>PAN UIDAI</td>\n<td>\"pan_uidai_xml\"</td>\n<td>JSON</td>\n</tr>\n<tr>\n<td>Aadhar UIDAI</td>\n<td>\"aadhar_uidai_xml\"</td>\n<td>XML inside a Zip file with a password</td>\n</tr>\n<tr>\n<td>Bureau Report</td>\n<td>\"cibil\" or \"crif\"</td>\n<td>JSON</td>\n</tr>\n<tr>\n<td>Selfie</td>\n<td>\"selfie\"</td>\n<td>JPG or JPEG</td>\n</tr>\n<tr>\n<td>Liveliness</td>\n<td>\"liveliness_output\"</td>\n<td>JSON</td>\n</tr>\n<tr>\n<td>Bank Statement/Salary Slip</td>\n<td>\"salary_slip\" or \"bank_statement\"</td>\n<td>PDF or JPG or JPEG</td>\n</tr>\n<tr>\n<td>Loan Agreement</td>\n<td>loan_agreement</td>\n<td>PDF</td>\n</tr>\n<tr>\n<td>Signed KFS and Sanction Letter</td>\n<td>signed_sanction_letter_and_KFS</td>\n<td>PDF</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"net\">.NET</h2>\n<p>The following C# code example creates two objects with two <code>PutObjectRequest</code> requests:</p>\n<ul>\n<li>The first <code>PutObjectRequest</code> request saves a text string as sample object data. It also specifies the bucket and object key names.</li>\n<li>The second <code>PutObjectRequest</code> request uploads a file by specifying the file name. This request also specifies the <code>ContentType</code> header and optional object metadata (a title).</li>\n</ul>\n<p>For instructions on how to create and test a working sample, using Amazon, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingTheMPDotNetAPI.html#TestingDotNetApiSamples\">Running the Amazon S3 .NET Code Examples</a>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>using Amazon.S3;\nusing Amazon.S3.Model;\nusing System;\nusing System.Threading.Tasks;\nnamespace Amazon.DocSamples.S3\n{\n    class UploadObjectTest\n    {\n        private const string bucketName = \"*** bucket name ***\";\n        // For simplicity the example creates two objects from the same file.\n        // You specify key names for these objects.\n        private const string keyName1 = \"key name for first object created\";\n        private const string keyName2 = \"key name for second object created\";\n        private const string filePath = @\"*** file path ***\";\n        private static readonly RegionEndpoint bucketRegion = RegionEndpoint.EUWest1; \n        private static IAmazonS3 client;\n        public static void Main()\n        {\n            client = new AmazonS3Client(bucketRegion);\n            WritingAnObjectAsync().Wait();\n        }\n        static async Task WritingAnObjectAsync()\n        {\n            try\n            {\n                // 1. Put object-specify only key names for the new object.\n                var putRequest1 = new PutObjectRequest\n                {\n                    BucketName = bucketName,\n                    Key = keyName1,\n                    ContentBody = \"sample text\"\n                };\n                PutObjectResponse response1 = await client.PutObjectAsync(putRequest1);\n                // 2. Put the object-set ContentType and add metadata.\n                var putRequest2 = new PutObjectRequest\n                {\n                    BucketName = bucketName,\n                    Key = keyName2,\n                    FilePath = filePath,\n                    ContentType = \"text/plain\"\n                };\n                putRequest2.Metadata.Add(\"x-amz-meta-title\", \"someTitle\");\n                PutObjectResponse response2 = await client.PutObjectAsync(putRequest2);\n            }\n            catch (AmazonS3Exception e)\n            {\n                Console.WriteLine(\n                        \"Error encountered ***. Message:'{0}' when writing an object\"\n                        , e.Message);\n            }\n            catch (Exception e)\n            {\n                Console.WriteLine(\n                    \"Unknown encounter on server. Message:'{0}' when writing an object\"\n                    , e.Message);\n            }\n        }\n    }\n}\n\n</code></pre><h2 id=\"java-java\"><strong>Java</strong> {#java}</h2>\n<p>The following example creates two objects. The first object has a text string as data, and the second object is a file. The example creates the first object by specifying the bucket name, object key, and text data directly in a call to <code>AmazonS3Client.putObject()</code>. The example creates the second object by using a <code>PutObjectRequest</code> that specifies the bucket name, object key, and file path. The <code>PutObjectRequest</code> also specifies the <code>ContentType</code> header and title metadata.</p>\n<p>For instructions on creating and testing a working sample, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingTheMPJavaAPI.html#TestingJavaSamples\">Testing the Amazon S3 Java Code Examples</a>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>import com.amazonaws.AmazonServiceException;\nimport com.amazonaws.SdkClientException;\nimport com.amazonaws.regions.Regions;\nimport com.amazonaws.services.s3.AmazonS3;\nimport com.amazonaws.services.s3.AmazonS3ClientBuilder;\nimport com.amazonaws.services.s3.model.ObjectMetadata;\nimport com.amazonaws.services.s3.model.PutObjectRequest;\nimport java.io.File;\nimport java.io.IOException;\npublic class UploadObject {\n    public static void main(String[] args) throws IOException {\n        Regions clientRegion = Regions.DEFAULT_REGION;\n        String bucketName = \"*** Bucket name ***\";\n        String stringObjKeyName = \"*** String object key name ***\";\n        String fileObjKeyName = \"*** File object key name ***\";\n        String fileName = \"*** Path to file to upload ***\";\n        try {\n            //This code expects that you have AWS credentials set up per:\n            // https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html\n            AmazonS3 s3Client = AmazonS3ClientBuilder.standard()\n                    .withRegion(clientRegion)\n                    .build();\n            // Upload a text string as a new object.\n            s3Client.putObject(bucketName, stringObjKeyName, \"Uploaded String Object\");\n            // Upload a file as a new object with ContentType and title specified.\n            PutObjectRequest request = new PutObjectRequest(bucketName, fileObjKeyName, new File(fileName));\n            ObjectMetadata metadata = new ObjectMetadata();\n            metadata.setContentType(\"plain/text\");\n            metadata.addUserMetadata(\"title\", \"someTitle\");\n            request.setMetadata(metadata);\n            s3Client.putObject(request);\n        } catch (AmazonServiceException e) {\n            // The call was transmitted successfully, but Amazon S3 couldn't process \n            // it, so it returned an error response.\n            e.printStackTrace();\n        } catch (SdkClientException e) {\n            //Amazon S3 couldn't be contacted for a response, or the client\n            // couldn't parse the response from Amazon S3.\n            e.printStackTrace();\n        }\n    }\n}\n\n</code></pre><h2 id=\"javascript-javascript\"><strong>Javascript</strong> {#javascript}</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>The following example uploads an existing file to an Amazon S3 bucket. in a specific Region.\n\n</code></pre><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>// Import required AWS SDK clients and commands for Node.js.\nimport { PutObjectCommand } from \"@aws-sdk/client-s3\";\nimport { s3Client } from \"./libs/s3Client.js\"; // Helper function that creates Amazon S3 service client module.\nimport {path} from \"path\";\nimport {fs} from \"fs\";\nconst file = \"OBJECT_PATH_AND_NAME\"; // Path to and name of object. For example '../myFiles/index.js'.\nconst fileStream = fs.createReadStream(file);\n// Set the parameters\nconst uploadParams = {\n  Bucket: \"BUCKET_NAME\",\n  // Add the required 'Key' parameter using the 'path' module.\n  Key: path.basename(file),\n  // Add the required 'Body' parameter\n  Body: fileStream,\n};\n// Upload file to specified bucket.\nconst run = async () =&gt; {\n  try {\n    const data = await s3Client.send(new PutObjectCommand(uploadParams));\n    console.log(\"Success\", data);\n    return data; // For unit tests.\n  } catch (err) {\n    console.log(\"Error\", err);\n  }\n};\nrun();\n\n</code></pre><h2 id=\"php-php\"><strong>PHP</strong> {#php}</h2>\n<p>This topic assumes that you are already following the instructions for <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingTheMPphpAPI.html\">Using the AWS SDK for PHP and Running PHP Examples</a> and have the AWS SDK for PHP properly installed.</p>\n<p>The following PHP example creates an object in a specified bucket by uploading data using the <code>putObject()</code> method. For information about running the PHP examples in this guide, see <a href=\"https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingTheMPphpAPI.html#running-php-samples\">Running PHP Examples</a>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>require 'vendor/autoload.php';\nuse Aws\\S3\\S3Client;\nuse Aws\\S3\\Exception\\S3Exception;\n$bucket = '*** Your Bucket Name ***';\n$keyname = '*** Your Object Key ***';\n$s3 = new S3Client([\n    'version' =&gt; 'latest',\n    'region'  =&gt; 'us-east-1'\n]);\ntry {\n    // Upload data.\n    $result = $s3-&gt;putObject([\n        'Bucket' =&gt; $bucket,\n        'Key'    =&gt; $keyname,\n        'Body'   =&gt; 'Hello, world!',\n        'ACL'    =&gt; 'public-read'\n    ]);\n    // Print the URL to the object.\n    echo $result['ObjectURL'] . PHP_EOL;\n} catch (S3Exception $e) {\n    echo $e-&gt;getMessage() . PHP_EOL;\n}\n\n</code></pre><h2 id=\"ruby-ruby\"><strong>Ruby</strong> {#ruby}</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>The AWS SDK for Ruby - Version 3 has two ways of uploading an object to Amazon S3. The first uses a managed file uploader, which makes it easy to upload files of any size from disk. To use the managed file uploader method:\n\n</code></pre><ol>\n<li>Create an instance of the <code>Aws::S3::Resource class</code>.</li>\n<li>Reference the target object by bucket name and key. Objects live in a bucket and have unique keys that identify each object.</li>\n<li>Call <code>#upload_file</code> on the object.</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>require 'aws-sdk-s3'\n# Uploads an object to a bucket in Amazon Simple Storage Service (Amazon S3).\n#\n# Prerequisites:\n#\n# - An S3 bucket.\n# - An object to upload to the bucket.\n#\n# @param s3_client [Aws::S3::Resource] An initialized S3 resource.\n# @param bucket_name [String] The name of the bucket.\n# @param object_key [String] The name of the object.\n# @param file_path [String] The path and file name of the object to upload.\n# @return [Boolean] true if the object was uploaded; otherwise, false.\n# @example\n#   exit 1 unless object_uploaded?(\n#     Aws::S3::Resource.new(region: 'us-east-1'),\n#     'doc-example-bucket',\n#     'my-file.txt',\n#     './my-file.txt'\n#   )\ndef object_uploaded?(s3_resource, bucket_name, object_key, file_path)\n  object = s3_resource.bucket(bucket_name).object(object_key)\n  object.upload_file(file_path)\n  return true\nrescue StandardError =&gt; e\n  puts \"Error uploading object: #{e.message}\"\n  return false\nend\n\n</code></pre><p>The second way that AWS SDK for Ruby - Version 3 can upload an object uses the <code>#put method</code> of <code>Aws::S3::Object</code>. This is useful if the object is a string or an I/O object that is not a file on disk. To use this method:</p>\n<ol>\n<li>Create an instance of the <code>Aws::S3::Resource</code> class.</li>\n<li>Reference the target object by bucket name and key.</li>\n<li>Call <code>#put</code>, passing in the string or I/O object.</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>require 'aws-sdk-s3'\n# Uploads an object to a bucket in Amazon Simple Storage Service (Amazon S3).\n# Prerequisites:\n# - An S3 bucket.\n# - An object to upload to the bucket.\n# @param s3_client [Aws::S3::Resource] An initialized S3 resource.\n# @param bucket_name [String] The name of the bucket.\n# @param object_key [String] The name of the object.\n# @param file_path [String] The path and file name of the object to upload.\n# @return [Boolean] true if the object was uploaded; otherwise, false.\n# @example\n#   exit 1 unless object_uploaded?(\n#     Aws::S3::Resource.new(region: 'us-east-1'),\n#     'doc-example-bucket',\n#     'my-file.txt',\n#     './my-file.txt'\n#   )\ndef object_uploaded?(s3_resource, bucket_name, object_key, file_path)\n  object = s3_resource.bucket(bucket_name).object(object_key)\n  File.open(file_path, 'rb') do |file|\n    object.put(body: file)\n  end\n  return true\nrescue StandardError =&gt; e\n  puts \"Error uploading object: #{e.message}\"\n  return false\nend\n\n</code></pre><h2 id=\"python-python\"><strong>Python</strong> {#python}</h2>\n<p><code>put_object(**kwargs)</code><br />Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.</p>\n<p>Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 has added the entire object to the bucket.</p>\n<p>The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>import boto3\nclient = boto3.client(\n   's3',\n   aws_access_key_id=AWS_ACCESS_KEY_ID,\n   aws_secret_access_key=AWS_SECRET_ACCESS_KEY,\n   region_name = 'ap-south-1'\n)\nresponse = client.put_object(\n    Body='filetoupload',\n    Bucket='examplebucket',\n    Key='objectkey',\n)\nprint(response)\n\n</code></pre><p><strong>Parameters:</strong></p>\n<ul>\n<li>**Body (**required*<em>): *</em>(<em>bytes or seekable file-like object</em>) -- Object data.</li>\n<li>**Bucket (<strong>required</strong>): <strong>The bucket name to which the PUT action was initiated.</strong> **</li>\n<li>**Key (**required*_): *_Object key for which the PUT action was initiated.<br />  <strong>Expected output:</strong></li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    'ETag': '\"6805f2cfc46c0f04559748bb039d69ae\"',\n    'VersionId': 'Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ',\n    'ResponseMetadata': {\n        '...': '...',\n    },\n}\n\n</code></pre>","_postman_id":"5ebb8dd2-8a9a-4f80-a026-e3a624ce4fdb"},{"name":"Loan Create API","id":"9e133e57-d548-4ffd-9475-887a32874701","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"x-api-key","type":"text","value":"*********"},{"key":"Authorization","value":"**********","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"partner_tag\": \"TEST\",\n    \"action\": \"create\",\n    \"loan_type\": \"ML\",\n    \"partner_loan_id\": \"TEST2200\",\n    \"loan_information\": {\n        \"loan_amount\": 10000,\n        \"disbursement_date\": \"06/07/2021\",\n        \"fees\": {},\n        \"interest_type\": \"flat\",\n        \"partner_computed_disbursement_amount\": \"10000.00\",\n        \"partner_computed_interest_amount\": 0,\n        \"partner_computed_pre_emi\": 0,\n        \"emi_frequency\": \"custom\",\n        \"interest_rate\": 0,\n        \"partner_computed_emi_amount\": \"10000.001200\",\n        \"tenure\": 1,\n        \"loan_tenure_in_days\": 365,\n        \"first_emi_date\": \"06/07/2022\"\n    },\n    \"customer_information\": {\n        \"first_name\": \"Parvinderjit\",\n        \"last_name\": \"Singh\",\n        \"gender\": \"male\",\n        \"occupation\": \"employed\",\n        \"date_of_birth\": \"11/08/1990\",\n        \"email\": \"parvinderjit.singh@sourcefuse.com\",\n        \"work_email\": \"\",\n        \"phone\": \"9888431230\",\n        \"monthly_income\": \"20\",\n        \"marital_status\": \"unmarried\",\n        \"pan\": \"ABQPT9359R\",\n        \"address_type\": \"residence\",\n        \"residence_type\": \"owned\",\n        \"address\": \"Bishoul, ward no 05, Jhanjharpur, Madhubani, Sukhet, Bihar, India, 847404\",\n        \"aadhar\": \"815162048559\",\n        \"aadhar_uidai_xml_password\": \"1234\",\n        \"pincode\": \"141401\",\n        \"address_state\": \"Punjab\",\n        \"loan_purpose\": \"Personal expenses\",\n        \"permanent_address\": \"Bishoul, ward no 05, Jhanjharpur, Madhubani, Sukhet, Sukhet, Bihar, India, 847404\",\n        \"company_name\": \"SourceFuse\",\n        \"company_address\": \"\",\n        \"Working_since\": \"08-05-2019\",\n        \"designation\": \"Testing\",\n        \"customer_bank_name\": \"1234567890\",\n        \"bank_account_number\": \"1234567890\",\n        \"bank_account_type\": \"savings\",\n        \"customer_bank_account_name\": \"Parvinderjit\",\n        \"ifsc_code\": \"sbin0001466\"\n    },\n    \"document_urls\": {\n        \"selfie\": \"partner_tag/product_type/partner_loan_id/Selfie.png\",\n        \"pan_uidai\": \"partner_tag/product_type/partner_loan_id/pan_uidai_xml.json\",\n        \"aadhar_uidai_xml\": \"partner_tag/product_type/partner_loan_id/aadhar_uidai_xml.zip\",\n        \"salary_slip\": \"partner_tag/product_type/partner_loan_id/Salary2\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://{servername.com}/{env}/{version}/{apiname}","urlObject":{"protocol":"https","path":["{env}","{version}","{apiname}"],"host":["{servername","com}"],"query":[],"variable":[]}},"response":[{"id":"138beeb3-5456-4c4e-92e0-18519828bd94","name":"Loan Create API Example","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"x-api-key","type":"text","value":"**************"}],"body":{"mode":"raw","raw":"{\n    \"partner_tag\": \"TEST\",\n    \"action\": \"create\",\n    \"loan_type\": \"PL\",\n    \"partner_loan_id\": \"TEST2201\",\n    \"customer_id\": \"12345\",\n    \"loan_information\": {\n        \"disbursement_date\": \"19/11/2020\",\n        \"emi_frequency\": \"monthly\",\n        \"first_emi_date\": \"05/12/2020\",\n        \"loan_amount\": 5000.00,\n        \"tenure\": 1,\n        \"fees\": {\n            \"processing_fee\": {\n                \"fee_amount\": 250.00,\n                \"gst_amount\": 90.00\n            }\n        },\n        \"interest_rate\": 0.2268,\n        \"interest_type\": \"reducing\",\n        \"has_pre_emi\": false,\n        \"partner_computed_disbursement_amount\": 241150,\n        \"partner_computed_interest_amount\": 25660,\n        \"partner_computed_pre-emi_amount\": 0.00,\n        \"partner_computed_emi_amount\": 30629.00\n    },\n    \"customer_information\": {\n        \"first_name\": \"Deelip\",\n        \"last_name\": \"Kumar\",\n        \"aadhaar\": \"12121212\",\n        \"employee_name\": \"Sona Patel\",\n        \"address\": \"102, Sneha Apat, Andheri west, Mumbai Maharashtra 400090\",\n        \"permanent_address\": \"102, Sneha Apat, Andheri west, Mumbai Maharashtra 400090\",\n        \"date_of_birth\": \"12/09/1987\",\n        \"gender\": \"female\",\n        \"employment_status\": \"active\",\n        \"mtd_payable_days\": \"30\",\n        \"date_of_joining\": \"15/07/2012\",\n        \"net_salary\": \"34000\",\n        \"gross_salary\": \"38000\",\n        \"employer_name\": \"JK Store\",\n        \"emp_id\": \"1550\",\n        \"mobile_number\": \"7878654523\",\n        \"phone\": \"7878654523\",\n        \"bank_name\": \"HDFC Bank\",\n        \"bank_account_number\": \"50100211470817\",\n        \"bank_account_type\": \"savings\",\n        \"bank_account_name\": \"Sona Patel\",\n        \"ifsc_code\": \"HDFC0001046\",\n        \"pan\": \"ADGPL6787R\"\n    },\n    \"document_urls\": {\n        \"selfie\": \"partner_tag/product_type/partner_loan_id/Selfie.png\",\n        \"pan_uidai\": \"partner_tag/product_type/partner_loan_id/pan_uidai_xml.json\",\n        \"aadhar_uidai_xml\": \"partner_tag/product_type/partner_loan_id/aadhar_uidai_xml.zip\",\n        \"cibil\":\"partner_tag/product_type/partner_loan_id/cibil.json\",\n        \"salary_slip\": \"partner_tag/product_type/partner_loan_id/Salary2\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://{servername.com}/{env}/{version}/{action}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 18 Jun 2021 12:01:55 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"180"},{"key":"Connection","value":"keep-alive"},{"key":"x-amzn-RequestId","value":"a07912bc-a328-4059-af84-499f7df1650d"},{"key":"access-control-allow-origin","value":"*"},{"key":"x-amz-apigw-id","value":"BHqv-GeChcwFm8Q="},{"key":"X-Amzn-Trace-Id","value":"Root=1-60cc8b32-35fcfaef66a411d162ad88da;Sampled=0"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"loan successfully created\",\n    \"loan_type\": \"PL\",\n    \"partner_loan_id\": \"TEST2201\",\n    \"state\": \"document_check_pending\",\n    \"sanction_letter\": \"partner_tag/product_type/partner_loan_id/sanction_letter_and_KFS.pdf\"\n}"},{"id":"42409b50-710c-4f63-b997-631490e078e9","name":"Loan Create API for ML loans","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"x-api-key","type":"text","value":"coNpjhTpmw21BCOTwGF8R1uKIA5BxSZaaA7zrGya"}],"body":{"mode":"raw","raw":"{\n    \"partner_tag\": \"TEST\",\n    \"action\": \"create\",\n    \"loan_type\": \"ML\",\n    \"partner_loan_id\": \"TEST2202\",\n    \"loan_information\": {\n        \"loan_amount\": 20000,\n        \"disbursement_date\": \"22/07/2021\",\n        \"fees\": {},\n        \"interest_type\": \"flat\",\n        \"partner_computed_disbursement_amount\": 20000,\n        \"partner_computed_interest_amount\": 0,\n        \"partner_computed_pre_emi\": 0,\n        \"emi_frequency\": \"custom\",\n        \"interest_rate\": 0,\n        \"partner_computed_emi_amount\": 20000.0024,\n        \"tenure\": 1,\n        \"loan_tenure_in_days\": 365,\n        \"first_emi_date\": \"22/07/2022\"\n    },\n    \"customer_information\": {\n        \"first_name\": \"Parvinderjit\",\n        \"last_name\": \"Singh\",\n        \"gender\": \"male\",\n        \"occupation\": \"employed\",\n        \"date_of_birth\": \"22/07/2021\",\n        \"email\": \"parvinderjit.singh@sourcefuse.com\",\n        \"work_email\": \"parvinder.singh@sourcefuse.com\",\n        \"phone\": \"9888431230\",\n        \"monthly_income\": 1000,\n        \"marital_status\": \"married\",\n        \"pan\": \"FABPS1010Z\",\n        \"address_type\": \"residence\",\n        \"residence_type\": \"owned\",\n        \"address\": \"undefined\",\n        \"aadhar\": \"undefined\",\n        \"aadhar_uidai_xml_password\": \"undefined\",\n        \"pincode\": \"123456\",\n        \"address_state\": \"Uttar Pradesh\",\n        \"loan_purpose\": \"Personal expenses\",\n        \"permanent_address\": \"undefined\",\n        \"company_name\": \"SourceFuse\",\n        \"company_address\": \"\",\n        \"Working_since\": \"19/07/2021\",\n        \"designation\": \"engineer\",\n        \"customer_bank_name\": \"123456789\",\n        \"bank_account_number\": \"123456789\",\n        \"bank_account_type\": \"savings\",\n        \"customer_bank_account_name\": \"Parvinderjit\",\n        \"ifsc_code\": \"sbin0001466\"\n    },\n    \"document_urls\": {\n        \"selfie\": \"partner_tag/product_type/partner_loan_id/Selfie.png\",\n        \"pan_uidai\": \"partner_tag/product_type/partner_loan_id/pan_uidai_xml.json\",\n        \"aadhar_uidai_xml\": \"partner_tag/product_type/partner_loan_id/aadhar_uidai_xml.zip\",\n        \"cibil\":\"partner_tag/product_type/partner_loan_id/cibil.json\",\n        \"salary_slip1\": \"partner_tag/product_type/partner_loan_id/Salary1\",\n        \"salary_slip2\": \"partner_tag/product_type/partner_loan_id/Salary2\",\n        \"salary_slip3\": \"partner_tag/product_type/partner_loan_id/Salary3\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://{servername.com}/{env}/{version}/{action}"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 22 Jul 2021 10:00:32 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"186"},{"key":"Connection","value":"keep-alive"},{"key":"x-amzn-RequestId","value":"62b0e0e1-6e67-4bd4-b84c-da7921efd43c"},{"key":"access-control-allow-origin","value":"*"},{"key":"x-amz-apigw-id","value":"C3c2CFJUhcwFmAA="},{"key":"X-Amzn-Trace-Id","value":"Root=1-60f941c0-731077d06976cda1403d4783;Sampled=0"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"loan successfully created\",\n    \"loan_type\": \"ML\",\n    \"partner_loan_id\": \"TEST2202\",\n    \"state\": \"document_check_pending\",\n    \"sanction_letter\": \"partner_tag/product_type/partner_loan_id/sanction_letter_and_KFS.pdf\"\n}"},{"id":"bf4e1e68-7115-4e54-bd2f-7be34e1880bc","name":"Loan Create API","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"x-api-key","type":"text","value":"*********"},{"key":"Authorization","value":"**********","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"partner_tag\": \"TEST\",\n    \"action\": \"create\",\n    \"loan_type\": \"ML\",\n    \"partner_loan_id\": \"TEST2203\",\n    \"loan_information\": {\n        \"loan_amount\": 10000,\n        \"disbursement_date\": \"06/07/2021\",\n        \"fees\": {},\n        \"interest_type\": \"flat\",\n        \"partner_computed_disbursement_amount\": \"10000.00\",\n        \"partner_computed_interest_amount\": 0,\n        \"partner_computed_pre_emi\": 0,\n        \"emi_frequency\": \"custom\",\n        \"interest_rate\": 0,\n        \"partner_computed_emi_amount\": \"10000.001200\",\n        \"tenure\": 1,\n        \"loan_tenure_in_days\": 365,\n        \"first_emi_date\": \"06/07/2022\"\n    },\n    \"customer_information\": {\n        \"first_name\": \"Parvinderjit\",\n        \"last_name\": \"Singh\",\n        \"gender\": \"male\",\n        \"occupation\": \"employed\",\n        \"date_of_birth\": \"11/08/1990\",\n        \"email\": \"parvinderjit.singh@sourcefuse.com\",\n        \"work_email\": \"\",\n        \"phone\": \"9888431230\",\n        \"monthly_income\": \"20\",\n        \"marital_status\": \"unmarried\",\n        \"pan\": \"ABQPT9359R\",\n        \"address_type\": \"residence\",\n        \"residence_type\": \"owned\",\n        \"address\": \"Bishoul, ward no 05, Jhanjharpur, Madhubani, Sukhet, Bihar, India, 847404\",\n        \"aadhar\": \"815162048559\",\n        \"aadhar_uidai_xml_password\": \"1234\",\n        \"pincode\": \"141401\",\n        \"address_state\": \"Punjab\",\n        \"loan_purpose\": \"Personal expenses\",\n        \"permanent_address\": \"Bishoul, ward no 05, Jhanjharpur, Madhubani, Sukhet, Sukhet, Bihar, India, 847404\",\n        \"company_name\": \"SourceFuse\",\n        \"company_address\": \"\",\n        \"Working_since\": \"08-05-2019\",\n        \"designation\": \"Testing\",\n        \"customer_bank_name\": \"1234567890\",\n        \"bank_account_number\": \"1234567890\",\n        \"bank_account_type\": \"savings\",\n        \"customer_bank_account_name\": \"Parvinderjit\",\n        \"ifsc_code\": \"sbin0001466\"\n    },\n    \"document_urls\": {\n        \"selfie\": \"partner_tag/product_type/partner_loan_id/Selfie.png\",\n        \"pan_uidai\": \"partner_tag/product_type/partner_loan_id/pan_uidai_xml.json\",\n        \"aadhar_uidai_xml\": \"partner_tag/product_type/partner_loan_id/aadhar_uidai_xml.zip\",\n        \"cibil\":\"partner_tag/product_type/partner_loan_id/cibil.json\",\n        \"salary_slip\": \"partner_tag/product_type/partner_loan_id/Salary2\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://{servername.com}/{env}/{version}/{apiname}"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"9e133e57-d548-4ffd-9475-887a32874701"},{"name":"Access token","id":"45de3a28-c237-4e70-9cfd-e0f963f73766","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"oauth2","oauth2":{"basicConfig":[],"advancedConfig":[{"key":"challengeAlgorithm","value":"<challenge-algorithm>"},{"key":"grant_type","value":"<grant_type>"},{"key":"client_authentication","value":"<client_authentication>"}]},"isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Basic **********************************","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text"},{"key":"scope","value":"","type":"text"}]},"url":"https://{name-api-app.auth.ap-server-2.{servercognito}.com/{auth2}/token","urlObject":{"protocol":"https","path":["{auth2}","token"],"host":["{name-api-app","auth","ap-server-2","{servercognito}","com"],"query":[],"variable":[]}},"response":[{"id":"4c1dd368-69b8-4da2-9ca9-5c3f3fe7f6dc","name":"Access token Example","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"**********","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"client_credentials","type":"text"},{"key":"scope","value":"","type":"text"}]},"url":"https://{name-api-app.auth.ap-server-name-2.{servercognito}.com/{auth2}/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 10 Jul 2021 11:53:26 GMT"},{"key":"Content-Type","value":"application/json;charset=UTF-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"x-amz-cognito-request-id","value":"b41b152b-27d0-4b36-bc41-ab382b4bfd60"},{"key":"X-Application-Context","value":"application:prod:8443"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Server","value":"Server"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"eyJraWQiOiIwQktiQldRUXpqbnh0T0R0eDlWUXBxdkRTRURVeTlEZnhZRjhmRFhoQ1VBPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiIzOGk2bjJwZXM0cGF2N2U0Z21sMzdyMTg3cyIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoibG9hbnNcL2NyZWF0ZSBsb2Fuc1wvcmVhZCBjcmlmZmFwaVwvcmVhZCByZXBheW1lbnRzXC9yZWFkIHJlcGF5bWVudHNcL3VwZGF0ZSByZXBheW1lbnRzXC9jcmVhdGUiLCJhdXRoX3RpbWUiOjE2MjU5MTgwMDYsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb21cL2FwLXNvdXRoLTFfWEF6eGpUd2paIiwiZXhwIjoxNjI1OTIxNjA2LCJpYXQiOjE2MjU5MTgwMDYsInZlcnNpb24iOjIsImp0aSI6IjNhMWIzNjQxLWEyOWMtNGViNS05MTU2LTBmOWQ2ZTYyNTJmZSIsImNsaWVudF9pZCI6IjM4aTZuMnBlczRwYXY3ZTRnbWwzN3IxODdzIn0.k5YYc_oWGIJCvj6_2Uqll5vZHCU6YQQZYLCZmwJYA514J4KOZezSL62rY7VH8Umc0-TM4FMBj0IvEuujQ4Hn6_TPpEOKeZdsTk0GWDmYJn-zq86bmRB6f_1UfvPWxnsQMwAv8IVMCw7epHuueUlTP1BHqCs5x4UaTQ-btHjN_vVhFmmA1O7eb30UZybKKCLPYoe0fBCPrVF5LvxVZuq-tf61GvuLN1uHiXsSyvUdgj4X_AKWFdB0hwhUzQkNWqNw_sHXV4sa5kxqwcX1nD770U_o5c3cDcLrDaedrkFO-JBWXCqK3NFRWwjbG4U0Bk985oBMescA9GcCEhtuQOydkA\",\n    \"expires_in\": 3600,\n    \"token_type\": \"Bearer\"\n}"}],"_postman_id":"45de3a28-c237-4e70-9cfd-e0f963f73766"}],"event":[{"listen":"prerequest","script":{"id":"c01ee214-7967-4cf3-9289-5bea639a9a2c","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"1f7a4449-fa73-4591-9f56-a1232c24d5a3","type":"text/javascript","exec":[""]}}]}