Add Loan Document

This request allows you to upload a loan document.

General

This request is a bit different from our others listed here in our documentation. Here's what you need to know about uploading loan documents:

  • This request requires two steps. (Pretty exciting, right?) The first step is acquiring a URL to send the upload file to. Then, the second step is actually uploading the file to your account through the URL.
  • Most of our requests on this site allow you to try them yourself; however, this one doesn't quite work that way. We'll provide you the information for trying this yourself in your own REST client, though.

And for an example of how uploading documents in the UI works, see our Loan Documents article.

Step 1 - Generate Upload URL

The first step to adding a loan document is generating a URL. Here, you'll send a POST request to the following URL:

https://loanpro.simnang.com/api/public/api/1/Loans({ID})/document/upload

This step requires a JSON payload, and the payload should be formatted like the following example:

{
  "sectionId": 1, // This is the ID of the "section"——or category——that the document is filed under. You can create your own sections.
  "fileName": "file.jpg",
  "customFileName": "Loan Document"
}
Authorization:<Bearer token>
Autopal-Instance-Id:<Tenant ID>
Content-Type:application/json

A successful request will result in a response like the following:

{
  "d": {
    "id": "89",
    "fileName": "file.jpg",
    "uploadUrl": "https://autopal-fandora.s3.amazonaws.com/tenants/5200243/fileAttachments/LoanDocuments/257/python_5fa1c4014f0fa0667c8c0f3c633fab28724aed68f76ed.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEG0aCXVzLWVhc3QtMSJIMEYCIQDx4%2FYC02ty1IzFW4IlEP8Bu1tJirLA8phWjeXx27xn1wIhAOCnvWzL5PfaVwIkEtHnO9aJKqtP8MVz55GgK%2B792gj8Kr0DCMb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQABoMMDYzNzEyODc5NDg1Igxu9QkHJnsJgukhpssqkQPxaa%2F6VNsu%2FjB4ggmZmTwnrkC7evvKyzDjKGwhpDFRIJDCjCuFHin49nb1P47wyg%2F1DsY1KPyYxH29LCZKWBMoUMfyVV4ofmlddzsf914UW3vA%2BJiF7VtBtPDs2HY%2FO4kbVPsRHBwm0QJD4BE0BzZLyHMTuRfPSxKnQ62oDI7X7GBIQhq7Bgcjnj%2BjUyFvdtrrmJGXcXhXanCOjPYx1H6ATxpmDQjgXXp106vexaF8AssE2St%2BZZVT5pqGpoXYbdPZTSDlH9RMYc0wMwtx%2FJ1yJR6YmqF339TTwFl2Is5%2FMeJH80wmGsF95AU0q1kNWjZUU%2BJaAR0r9m%2F0jH6xqrebhJEMa%2F1vx4u9RFecgYOQpVtzQlf9%2FFc2%2FzPrcSohJf%2BkvV6it%2B0hYwKTLck9%2BwKMS1iA88ic98SgKOX3p7i3lnzYI9lV2tzsXtC16EwIW2mqFDmyN2rr63IVwiYwIVd50cUjOpMGBTKk61rkk2OUF%2Fn5exTT1OKXmhT5DoodcJnEg3B7ran1SImQrIdxH6An1zC2%2FIb9BTrqAV21t919ebTVEKOvCdxd5xKHCa%2FfALkOursakednppYWvCPrIDXK0j2Tak89UYugXjbFD0Hl134RkkiL%2BzpjQwEbPkTbxN8ex9Vvyx%2FygL7FeP2SJjTy%2BYM69un61am8f%2FRYsAYPsgqxaBU6FlrGkiLY3Kb52FqfgiwA2lGgVJ9GHbjwXiZ%2BOk3hbj1dUckK84nXRr9AbyyKjdD%2BwmFBl%2Bn0klDq%2FvQm2wG9qbnzwnMZ3kuVdHswitT06WWSN6CjEBbKx2gqme2uLKB0e%2FBLJGdRzAt8HqyxEnI7TRzpqWpTlStoThZXzPrP9A%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQ5VMVMN6RKBGKS25%2F20201103%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201103T205633Z&X-Amz-SignedHeaders=host&X-Amz-Expires=2700&X-Amz-Signature=39d7fe294efa180f695f3e2cdf074ca81b659c2d21e7ee551514527a826da998",
    "customFileName": "Loan Document",
    "mime": "image/jpeg"
  }
}

This response includes a uploadUrl field. This field holds the URL used in the next step.

Step 2 - Upload Document

This step is where you'll actually upload the document to your account.

🚧

This step does not require authentication. You will not use any headers.

To upload the document, send a PUT request to the uploadUrl returned by the request in the step above. Here are examples of the payload in both cURL and Python:

curl

--upload-file "C:\Users\filepath\file.jpg" 

"https://autopal-fandora.s3.amazonaws.com/tenants/5200243/fileAttachments/LoanDocuments/257/python_5fa1c4014f0fa0667c8c0f3c633fab28724aed68f76ed.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEG0aCXVzLWVhc3QtMSJIMEYCIQDx4%2FYC02ty1IzFW4IlEP8Bu1tJirLA8phWjeXx27xn1wIhAOCnvWzL5PfaVwIkEtHnO9aJKqtP8MVz55GgK%2B792gj8Kr0DCMb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQABoMMDYzNzEyODc5NDg1Igxu9QkHJnsJgukhpssqkQPxaa%2F6VNsu%2FjB4ggmZmTwnrkC7evvKyzDjKGwhpDFRIJDCjCuFHin49nb1P47wyg%2F1DsY1KPyYxH29LCZKWBMoUMfyVV4ofmlddzsf914UW3vA%2BJiF7VtBtPDs2HY%2FO4kbVPsRHBwm0QJD4BE0BzZLyHMTuRfPSxKnQ62oDI7X7GBIQhq7Bgcjnj%2BjUyFvdtrrmJGXcXhXanCOjPYx1H6ATxpmDQjgXXp106vexaF8AssE2St%2BZZVT5pqGpoXYbdPZTSDlH9RMYc0wMwtx%2FJ1yJR6YmqF339TTwFl2Is5%2FMeJH80wmGsF95AU0q1kNWjZUU%2BJaAR0r9m%2F0jH6xqrebhJEMa%2F1vx4u9RFecgYOQpVtzQlf9%2FFc2%2FzPrcSohJf%2BkvV6it%2B0hYwKTLck9%2BwKMS1iA88ic98SgKOX3p7i3lnzYI9lV2tzsXtC16EwIW2mqFDmyN2rr63IVwiYwIVd50cUjOpMGBTKk61rkk2OUF%2Fn5exTT1OKXmhT5DoodcJnEg3B7ran1SImQrIdxH6An1zC2%2FIb9BTrqAV21t919ebTVEKOvCdxd5xKHCa%2FfALkOursakednppYWvCPrIDXK0j2Tak89UYugXjbFD0Hl134RkkiL%2BzpjQwEbPkTbxN8ex9Vvyx%2FygL7FeP2SJjTy%2BYM69un61am8f%2FRYsAYPsgqxaBU6FlrGkiLY3Kb52FqfgiwA2lGgVJ9GHbjwXiZ%2BOk3hbj1dUckK84nXRr9AbyyKjdD%2BwmFBl%2Bn0klDq%2FvQm2wG9qbnzwnMZ3kuVdHswitT06WWSN6CjEBbKx2gqme2uLKB0e%2FBLJGdRzAt8HqyxEnI7TRzpqWpTlStoThZXzPrP9A%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQ5VMVMN6RKBGKS25%2F20201103%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201103T205633Z&X-Amz-SignedHeaders=host&X-Amz-Expires=2700&X-Amz-Signature=39d7fe294efa180f695f3e2cdf074ca81b659c2d21e7ee551514527a826da998"
import requests

url = "https://autopal-fandora.s3.amazonaws.com/tenants/5200243/fileAttachments/LoanDocuments/257/python_5fa1c4014f0fa0667c8c0f3c633fab28724aed68f76ed.jpg?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEG0aCXVzLWVhc3QtMSJIMEYCIQDx4%2FYC02ty1IzFW4IlEP8Bu1tJirLA8phWjeXx27xn1wIhAOCnvWzL5PfaVwIkEtHnO9aJKqtP8MVz55GgK%2B792gj8Kr0DCMb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEQABoMMDYzNzEyODc5NDg1Igxu9QkHJnsJgukhpssqkQPxaa%2F6VNsu%2FjB4ggmZmTwnrkC7evvKyzDjKGwhpDFRIJDCjCuFHin49nb1P47wyg%2F1DsY1KPyYxH29LCZKWBMoUMfyVV4ofmlddzsf914UW3vA%2BJiF7VtBtPDs2HY%2FO4kbVPsRHBwm0QJD4BE0BzZLyHMTuRfPSxKnQ62oDI7X7GBIQhq7Bgcjnj%2BjUyFvdtrrmJGXcXhXanCOjPYx1H6ATxpmDQjgXXp106vexaF8AssE2St%2BZZVT5pqGpoXYbdPZTSDlH9RMYc0wMwtx%2FJ1yJR6YmqF339TTwFl2Is5%2FMeJH80wmGsF95AU0q1kNWjZUU%2BJaAR0r9m%2F0jH6xqrebhJEMa%2F1vx4u9RFecgYOQpVtzQlf9%2FFc2%2FzPrcSohJf%2BkvV6it%2B0hYwKTLck9%2BwKMS1iA88ic98SgKOX3p7i3lnzYI9lV2tzsXtC16EwIW2mqFDmyN2rr63IVwiYwIVd50cUjOpMGBTKk61rkk2OUF%2Fn5exTT1OKXmhT5DoodcJnEg3B7ran1SImQrIdxH6An1zC2%2FIb9BTrqAV21t919ebTVEKOvCdxd5xKHCa%2FfALkOursakednppYWvCPrIDXK0j2Tak89UYugXjbFD0Hl134RkkiL%2BzpjQwEbPkTbxN8ex9Vvyx%2FygL7FeP2SJjTy%2BYM69un61am8f%2FRYsAYPsgqxaBU6FlrGkiLY3Kb52FqfgiwA2lGgVJ9GHbjwXiZ%2BOk3hbj1dUckK84nXRr9AbyyKjdD%2BwmFBl%2Bn0klDq%2FvQm2wG9qbnzwnMZ3kuVdHswitT06WWSN6CjEBbKx2gqme2uLKB0e%2FBLJGdRzAt8HqyxEnI7TRzpqWpTlStoThZXzPrP9A%3D%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAQ5VMVMN6RKBGKS25%2F20201103%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201103T205633Z&X-Amz-SignedHeaders=host&X-Amz-Expires=2700&X-Amz-Signature=39d7fe294efa180f695f3e2cdf074ca81b659c2d21e7ee551514527a826da998"

file = open(r'C:\Users\filepath\file.jpg', 'rb')

response = requests.put(url, data=file)

print('Status:', request.status_code)
print(response.text)

If you're a Postman user, you can upload files easily by selecting the 'Binary' body type and using the 'Upload File' button.