Complete loan tape upload
Step 2 of the upload flow. After uploading the file, call this endpoint with the deal ID and file name. The gateway verifies the file is CSV or XLSX, registers the file entry, and marks the deal as IN_REVIEW.
POST
/
v1
/
api
/
originator
/
loans
/
complete
Complete loan tape upload
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({deal_id: 'deal_abc123', file_name: 'a1b2c3d4.upload'})
};
fetch('https://api.9squid.com/v1/api/originator/loans/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.9squid.com/v1/api/originator/loans/complete"
payload = {
"deal_id": "deal_abc123",
"file_name": "a1b2c3d4.upload"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.9squid.com/v1/api/originator/loans/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deal_id": "deal_abc123",
"file_name": "a1b2c3d4.upload"
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.9squid.com/v1/api/originator/loans/complete"
payload := strings.NewReader("{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.9squid.com/v1/api/originator/loans/complete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'deal_id' => 'deal_abc123',
'file_name' => 'a1b2c3d4.upload'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.9squid.com/v1/api/originator/loans/complete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}"
response = http.request(request)
puts response.read_bodyusing RestSharp;
var options = new RestClientOptions("https://api.9squid.com/v1/api/originator/loans/complete");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
import Foundation
let parameters = [
"deal_id": "deal_abc123",
"file_name": "a1b2c3d4.upload"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.9squid.com/v1/api/originator/loans/complete")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}")
val request = Request.Builder()
.url("https://api.9squid.com/v1/api/originator/loans/complete")
.post(body)
.addHeader("Authorization", "Bearer <token>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute(){
"success": true,
"data": {
"deal_id": "deal_abc123",
"deal_status": "IN_REVIEW"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
⌘I
Complete loan tape upload
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({deal_id: 'deal_abc123', file_name: 'a1b2c3d4.upload'})
};
fetch('https://api.9squid.com/v1/api/originator/loans/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.9squid.com/v1/api/originator/loans/complete"
payload = {
"deal_id": "deal_abc123",
"file_name": "a1b2c3d4.upload"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)curl --request POST \
--url https://api.9squid.com/v1/api/originator/loans/complete \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"deal_id": "deal_abc123",
"file_name": "a1b2c3d4.upload"
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.9squid.com/v1/api/originator/loans/complete"
payload := strings.NewReader("{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.9squid.com/v1/api/originator/loans/complete",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'deal_id' => 'deal_abc123',
'file_name' => 'a1b2c3d4.upload'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.9squid.com/v1/api/originator/loans/complete")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}"
response = http.request(request)
puts response.read_bodyusing RestSharp;
var options = new RestClientOptions("https://api.9squid.com/v1/api/originator/loans/complete");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
request.AddJsonBody("{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
import Foundation
let parameters = [
"deal_id": "deal_abc123",
"file_name": "a1b2c3d4.upload"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.9squid.com/v1/api/originator/loans/complete")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"deal_id\": \"deal_abc123\",\n \"file_name\": \"a1b2c3d4.upload\"\n}")
val request = Request.Builder()
.url("https://api.9squid.com/v1/api/originator/loans/complete")
.post(body)
.addHeader("Authorization", "Bearer <token>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute(){
"success": true,
"data": {
"deal_id": "deal_abc123",
"deal_status": "IN_REVIEW"
}
}