{"info":{"_postman_id":"e740a587-65a2-4b25-ac60-4342845a8785","name":"Apollo Finvest Loan Creation UAT API","description":"<html><head></head><body><h1 id=\"apollo-finvest-loan-creation-api\">Apollo Finvest Loan Creation API</h1>\n<h2 id=\"requirements\">Requirements</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 bureau API to get the S3 key of bureau documents</li>\n</ul>\n<h2 id=\"description\">Description</h2>\n<hr>\n<p>This is post request API for UAT/test environment, creating a loan in Apollo's database. After successful integration with this API, we will provide you production URL and credentials.</p>\n<h2 id=\"authenticationauthorisation\">Authentication/Authorisation</h2>\n<hr>\n<p>X-api-key is an API aunthentication key provided by Apollo used to manage access control</p>\n<ul>\n<li>Content-Type = application/json</li>\n<li>x-api-key = ****</li>\n</ul>\n<h2 id=\"required-fields\">Required Fields</h2>\n<hr>\n<ul>\n<li>action = create</li>\n<li>partner_tag = Unique Partner Tag provided by Apollo</li>\n<li>loan_type = ML(Micro Loan)/PL(Personal Loan)/CL(Consumer Loan)</li>\n<li>partner_loan_id = Unique loan id maintained by partner</li>\n<li>loan_information<ul>\n<li>disbursement_date = Date string e.g. \"06/05/2021\"</li>\n<li>emi_frequency = Variavble field depends on loan type(custom/monthly)</li>\n<li>first_emi_date = Date string e.g. \"06/05/2021\"</li>\n<li>loan_amount = Numeric Value</li>\n<li>tenure = integer value(1 in case of ML)</li>\n<li>loan_tenure_in_days = applicable for ML only</li>\n<li>fees<ul>\n<li>processing_fee<ul>\n<li>fee_amount = Numeric Value</li>\n<li>gst_amount = Numeric Value</li>\n</ul>\n</li>\n<li>subvention_fee = Same values as processing fee</li>\n<li>other_fee = Same values as processing fee</li>\n</ul>\n</li>\n<li>interest_rate = Numeric Value</li>\n<li>interest_type = \"flat\"/\"reducing\"</li>\n<li>has_pre_emi = (true/false)</li>\n<li>partner_computed_disbursement_amount = Disbursement amount calculated by Partner</li>\n<li>partner_computed_interest_amount = Interest amount calculated by Partner</li>\n<li>partner_computed_pre-emi_amount = Contains pre emi value calculated by partner if applicable</li>\n<li>partner_computed_emi_amount = EMI amount calculated by partner</li>\n</ul>\n</li>\n<li>customer_information = Contains variable set of fields for different partners</li>\n<li>Customer Information Enums:<ul>\n<li>bank_account_type_enum = ['current', 'savings']</li>\n<li>gender_enum = ['male', 'female', 'other']</li>\n<li>marital_status_enum = ['married', 'unmarried', 'divorced']</li>\n<li>residence_type_enum = ['owned', 'rented']</li>\n<li>address_type_enum = ['permanent', 'residence', 'office']</li>\n<li>occupation_enum = ['employed', 'self_employed']</li>\n</ul>\n</li>\n<li>document_urls = Contains S3 key of uploaded documents</li>\n</ul>\n<h2 id=\"sample-request-body\">Sample Request Body</h2>\n<hr>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"partner_tag\": \"MOC\",\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        \"loan_agreement\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"sanction_letter\": \"AMZ/PL/TEST1017/sanction_letter.pdf\",\n        \"pan_uidai\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"bank_statement\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"aadhar_uidai_xml\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"cibil\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\"\n    }\n}\n\n</code></pre><h2 id=\"sample-response\">Sample Response</h2>\n<hr>\n<p>On successful loan creation, the following response will be provided.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"message\": \"loan successfully created\",\n    \"loan_type\": \"PL\",\n    \"partner_loan_id\": \"TEST2202\",\n    \"state\": \"document_check_pending\",\n    \"sanction_letter\": \"MOC/TEST2202/sanction_letter.pdf\"\n}\n\n</code></pre><p>For duplicate, partner_loan_id response will be</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"message\": \"loan already exists with loan_type - PL and partner_loan_id-test1010\"\n}\n\n</code></pre><p>If documents are not uploaded then the response will be</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"message\": \"Missing doc in s3 - loan_agreement\"\n}\n\n</code></pre><h3 id=\"sanction-letter-flow\"><strong>Sanction letter Flow</strong></h3>\n<p>Once the loan is successfully created, an S3 key for the sanction letter will be added to the response.</p>\n<p>Please note that the sanction letter will not be available immediately.</p>\n<p>It will be available 99% of the time within 5 seconds on S3.</p>\n<p>The Sanction letter can be downloaded any number of times using the same S3 Credentials shared by apollo.</p>\n<h2 id=\"status-codes\">Status Codes</h2>\n<ol>\n<li><strong>200</strong><br>: Successful Request</li>\n<li><strong>400</strong><br>: Invalid Request</li>\n<li><strong>500</strong><br>: Internal Server Error (Rare)</li>\n<li><strong>504</strong> bad gateway<br>: The server is down. Please inform immediately to tech POC. You can retry within a few seconds.</li>\n</ol>\n<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</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":"Rate Limit","slug":"rate-limit"},{"content":"SLA breakdown","slug":"sla-breakdown"}],"owner":"12930268","collectionId":"e740a587-65a2-4b25-ac60-4342845a8785","publishedId":"TzeXmTZm","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2021-06-18T13:28:55.000Z"},"item":[{"name":"S3 DOCS upload","item":[{"name":"New Request","id":"eee87abd-14dd-4eb0-948b-a554bb45002f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"eee87abd-14dd-4eb0-948b-a554bb45002f"}],"id":"abab2ae4-9340-462f-8729-69fae6ef6216","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</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<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;\n\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\n                PutObjectResponse response1 = await client.PutObjectAsync(putRequest1);\n\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                \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</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;\n\nimport java.io.File;\nimport java.io.IOException;\n\npublic class UploadObject {\n\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\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\n            // Upload a text string as a new object.\n            s3Client.putObject(bucketName, stringObjKeyName, \"Uploaded String Object\");\n\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</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</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\";\n\nconst file = \"OBJECT_PATH_AND_NAME\"; // Path to and name of object. For example '../myFiles/index.js'.\nconst fileStream = fs.createReadStream(file);\n\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\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</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';\n\nuse Aws\\S3\\S3Client;\nuse Aws\\S3\\Exception\\S3Exception;\n\n$bucket = '*** Your Bucket Name ***';\n$keyname = '*** Your Object Key ***';\n                        \n$s3 = new S3Client([\n    'version' =&gt; 'latest',\n    'region'  =&gt; 'us-east-1'\n]);\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\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</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</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#   )\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</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</code></pre><h2 id=\"python-python\"><strong>Python</strong> {#python}</h2>\n<p><code>put_object(**kwargs)</code>\nAdds 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)\n\nresponse = client.put_object(\n    Body='filetoupload',\n    Bucket='examplebucket',\n    Key='objectkey',\n)\n\nprint(response)\n</code></pre><p><strong>Parameters:</strong></p>\n<ul>\n<li><p>**Body (<strong>required</strong>): **(<em>bytes or seekable file-like object</em>) -- Object data.</p>\n</li>\n<li><p>**Bucket (<strong>required</strong>): <strong>The bucket name to which the PUT action was initiated.</strong> **</p>\n</li>\n<li><p>**Key (<strong>required</strong>): **Object key for which the PUT action was initiated.</p>\n<p>  <strong>Expected output:</strong></p>\n</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</code></pre>","_postman_id":"abab2ae4-9340-462f-8729-69fae6ef6216"},{"name":"Loan Create API","id":"5e913899-1978-4ebf-b5bb-a20d113f75eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"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\": \"ML\",\n    \"partner_loan_id\": \"b7t7jgutt7907777\",\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\": \"AQQPT9359R\",\n        \"address_type\": \"residence\",\n        \"residence_type\": \"owned\",\n        \"address\": \"Bishoul, ward no 05, Jhanjharpur, Madhubani, Sukhet, 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\": \"KYU/ML/b7t7jgutt78/Selfie.png\",\n        \"pan_uidai\": \"KYU/ML/b7t7jgutt78/pan_uidai_xml.json\",\n        \"aadhar_uidai_xml\": \"KYU/ML/b7t7jgutt78/aadhar_uidai_xml.zip\",\n        \"salary_slip\": \"KYU/ML/b7t7jgutt78/Salary2\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://apollofinvestapi.com/uat/partner_loan_ledger_crud","urlObject":{"protocol":"https","path":["uat","partner_loan_ledger_crud"],"host":["apollofinvestapi","com"],"query":[],"variable":[]}},"response":[{"id":"fc3733b5-e10e-4471-9024-6c2813a3a568","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\": \"MOC\",\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        \"loan_agreement\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"sanction_letter\": \"AMZ/PL/TEST1017/sanction_letter.pdf\",\n        \"pan_uidai\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"bank_statement\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"aadhar_uidai_xml\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"cibil\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://apollofinvestapi.com/uat/partner_loan_ledger_crud"},"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\": \"TEST2202\",\n    \"state\": \"document_check_pending\",\n    \"sanction_letter\": \"MOC/TEST2202/sanction_letter.pdf\"\n}"},{"id":"e351b4fb-4f94-41ba-afa6-a755334a6744","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\": \"KYU\",\n    \"action\": \"create\",\n    \"loan_type\": \"ML\",\n    \"partner_loan_id\": \"8fb1test000\",\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\": \"FZBPS1000Z\",\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\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"pan_uidai\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"aadhar_uidai_xml\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"salary_slip\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"salary_slip1\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\",\n        \"salary_slip2\": \"PAYM/PL/5f327af7d45277317daa3887/loan_agreement.pdf\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://apollofinvestapi.com/uat/partner_loan_ledger_crud"},"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\": \"8fb1test000\",\n    \"state\": \"document_check_pending\",\n    \"sanction_letter\": \"KYU/8fb1test000/sanction_letter.pdf\"\n}"}],"_postman_id":"5e913899-1978-4ebf-b5bb-a20d113f75eb"}],"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":[""]}}]}