curl --request POST \
--url https://api.lendflow.com/api/applications/{application_id}/placements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"method": 1,
"stage_id": "977e5426-8d13-3824-86aa-b092f8ae52c5",
"funder_id": null,
"emails": [
"gbailey@example.net"
],
"email_body": null,
"attachments": null,
"product_id": null,
"offer_template_id": null,
"destination": null,
"url": "http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab",
"submission_path": "pre_approval",
"bank_statement_source": "bank_statements"
}
'import requests
url = "https://api.lendflow.com/api/applications/{application_id}/placements"
payload = {
"method": 1,
"stage_id": "977e5426-8d13-3824-86aa-b092f8ae52c5",
"funder_id": None,
"emails": ["gbailey@example.net"],
"email_body": None,
"attachments": None,
"product_id": None,
"offer_template_id": None,
"destination": None,
"url": "http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab",
"submission_path": "pre_approval",
"bank_statement_source": "bank_statements"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 1,
stage_id: '977e5426-8d13-3824-86aa-b092f8ae52c5',
funder_id: null,
emails: ['gbailey@example.net'],
email_body: null,
attachments: null,
product_id: null,
offer_template_id: null,
destination: null,
url: 'http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab',
submission_path: 'pre_approval',
bank_statement_source: 'bank_statements'
})
};
fetch('https://api.lendflow.com/api/applications/{application_id}/placements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lendflow.com/api/applications/{application_id}/placements",
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([
'method' => 1,
'stage_id' => '977e5426-8d13-3824-86aa-b092f8ae52c5',
'funder_id' => null,
'emails' => [
'gbailey@example.net'
],
'email_body' => null,
'attachments' => null,
'product_id' => null,
'offer_template_id' => null,
'destination' => null,
'url' => 'http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab',
'submission_path' => 'pre_approval',
'bank_statement_source' => 'bank_statements'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lendflow.com/api/applications/{application_id}/placements"
payload := strings.NewReader("{\n \"method\": 1,\n \"stage_id\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",\n \"funder_id\": null,\n \"emails\": [\n \"gbailey@example.net\"\n ],\n \"email_body\": null,\n \"attachments\": null,\n \"product_id\": null,\n \"offer_template_id\": null,\n \"destination\": null,\n \"url\": \"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab\",\n \"submission_path\": \"pre_approval\",\n \"bank_statement_source\": \"bank_statements\"\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))
}HttpResponse<String> response = Unirest.post("https://api.lendflow.com/api/applications/{application_id}/placements")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"method\": 1,\n \"stage_id\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",\n \"funder_id\": null,\n \"emails\": [\n \"gbailey@example.net\"\n ],\n \"email_body\": null,\n \"attachments\": null,\n \"product_id\": null,\n \"offer_template_id\": null,\n \"destination\": null,\n \"url\": \"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab\",\n \"submission_path\": \"pre_approval\",\n \"bank_statement_source\": \"bank_statements\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lendflow.com/api/applications/{application_id}/placements")
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 \"method\": 1,\n \"stage_id\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",\n \"funder_id\": null,\n \"emails\": [\n \"gbailey@example.net\"\n ],\n \"email_body\": null,\n \"attachments\": null,\n \"product_id\": null,\n \"offer_template_id\": null,\n \"destination\": null,\n \"url\": \"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab\",\n \"submission_path\": \"pre_approval\",\n \"bank_statement_source\": \"bank_statements\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"placement_id": null,
"application_id": "67b2176c-cc4f-40d1-9418-cd2f038bb60f",
"tracking": "",
"status": null,
"decline_reason": null,
"decline_reason_id": null,
"decline_subreason_id": null,
"method": 1,
"product_id": 1,
"created_at": null,
"updated_at": null,
"resubmitted_at": null,
"is_client_funded": null,
"can_send_files": false,
"can_resubmit": false,
"via_automation": false,
"submission_path": null,
"reference_workflow_status": null,
"reference_workflow_sub_status": null,
"reference_workflow_status_color": null,
"origin_offer_template_id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"origin_offer_template": {
"id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"name": "ARLOC",
"description": null,
"product": "arloc",
"is_enabled": true,
"is_default": true,
"is_fallback": true,
"funder_id": null,
"client_id": null,
"created_at": "2025-03-12T15:53:59.000000Z",
"updated_at": "2026-10-08T15:42:24.000000Z"
},
"destinations": [
{
"workflow_template_id": null,
"offer_template_id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"offer_template": {
"id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"name": "ARLOC",
"description": null,
"product": "arloc",
"is_enabled": true,
"is_default": true,
"is_fallback": true,
"funder_id": null,
"client_id": null,
"created_at": "2025-03-12T15:53:59.000000Z",
"updated_at": "2026-10-08T15:42:24.000000Z"
}
}
],
"url": null
}
}Create Lender Placement
Submits an application to a funder, creating a placement that is delivered through the funder’s configured integration method.
curl --request POST \
--url https://api.lendflow.com/api/applications/{application_id}/placements \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"method": 1,
"stage_id": "977e5426-8d13-3824-86aa-b092f8ae52c5",
"funder_id": null,
"emails": [
"gbailey@example.net"
],
"email_body": null,
"attachments": null,
"product_id": null,
"offer_template_id": null,
"destination": null,
"url": "http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab",
"submission_path": "pre_approval",
"bank_statement_source": "bank_statements"
}
'import requests
url = "https://api.lendflow.com/api/applications/{application_id}/placements"
payload = {
"method": 1,
"stage_id": "977e5426-8d13-3824-86aa-b092f8ae52c5",
"funder_id": None,
"emails": ["gbailey@example.net"],
"email_body": None,
"attachments": None,
"product_id": None,
"offer_template_id": None,
"destination": None,
"url": "http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab",
"submission_path": "pre_approval",
"bank_statement_source": "bank_statements"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
method: 1,
stage_id: '977e5426-8d13-3824-86aa-b092f8ae52c5',
funder_id: null,
emails: ['gbailey@example.net'],
email_body: null,
attachments: null,
product_id: null,
offer_template_id: null,
destination: null,
url: 'http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab',
submission_path: 'pre_approval',
bank_statement_source: 'bank_statements'
})
};
fetch('https://api.lendflow.com/api/applications/{application_id}/placements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lendflow.com/api/applications/{application_id}/placements",
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([
'method' => 1,
'stage_id' => '977e5426-8d13-3824-86aa-b092f8ae52c5',
'funder_id' => null,
'emails' => [
'gbailey@example.net'
],
'email_body' => null,
'attachments' => null,
'product_id' => null,
'offer_template_id' => null,
'destination' => null,
'url' => 'http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab',
'submission_path' => 'pre_approval',
'bank_statement_source' => 'bank_statements'
]),
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;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.lendflow.com/api/applications/{application_id}/placements"
payload := strings.NewReader("{\n \"method\": 1,\n \"stage_id\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",\n \"funder_id\": null,\n \"emails\": [\n \"gbailey@example.net\"\n ],\n \"email_body\": null,\n \"attachments\": null,\n \"product_id\": null,\n \"offer_template_id\": null,\n \"destination\": null,\n \"url\": \"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab\",\n \"submission_path\": \"pre_approval\",\n \"bank_statement_source\": \"bank_statements\"\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))
}HttpResponse<String> response = Unirest.post("https://api.lendflow.com/api/applications/{application_id}/placements")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"method\": 1,\n \"stage_id\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",\n \"funder_id\": null,\n \"emails\": [\n \"gbailey@example.net\"\n ],\n \"email_body\": null,\n \"attachments\": null,\n \"product_id\": null,\n \"offer_template_id\": null,\n \"destination\": null,\n \"url\": \"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab\",\n \"submission_path\": \"pre_approval\",\n \"bank_statement_source\": \"bank_statements\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lendflow.com/api/applications/{application_id}/placements")
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 \"method\": 1,\n \"stage_id\": \"977e5426-8d13-3824-86aa-b092f8ae52c5\",\n \"funder_id\": null,\n \"emails\": [\n \"gbailey@example.net\"\n ],\n \"email_body\": null,\n \"attachments\": null,\n \"product_id\": null,\n \"offer_template_id\": null,\n \"destination\": null,\n \"url\": \"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab\",\n \"submission_path\": \"pre_approval\",\n \"bank_statement_source\": \"bank_statements\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"placement_id": null,
"application_id": "67b2176c-cc4f-40d1-9418-cd2f038bb60f",
"tracking": "",
"status": null,
"decline_reason": null,
"decline_reason_id": null,
"decline_subreason_id": null,
"method": 1,
"product_id": 1,
"created_at": null,
"updated_at": null,
"resubmitted_at": null,
"is_client_funded": null,
"can_send_files": false,
"can_resubmit": false,
"via_automation": false,
"submission_path": null,
"reference_workflow_status": null,
"reference_workflow_sub_status": null,
"reference_workflow_status_color": null,
"origin_offer_template_id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"origin_offer_template": {
"id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"name": "ARLOC",
"description": null,
"product": "arloc",
"is_enabled": true,
"is_default": true,
"is_fallback": true,
"funder_id": null,
"client_id": null,
"created_at": "2025-03-12T15:53:59.000000Z",
"updated_at": "2026-10-08T15:42:24.000000Z"
},
"destinations": [
{
"workflow_template_id": null,
"offer_template_id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"offer_template": {
"id": "01958b10-0d3c-73d4-99a1-148aece7409d",
"name": "ARLOC",
"description": null,
"product": "arloc",
"is_enabled": true,
"is_default": true,
"is_fallback": true,
"funder_id": null,
"client_id": null,
"created_at": "2025-03-12T15:53:59.000000Z",
"updated_at": "2026-10-08T15:42:24.000000Z"
}
}
],
"url": null
}
}Authorizations
You can register for a new Lendflow API key on our client portal in less than 60 seconds. The Bearer Token needs to be included in all API requests made to the API Service in the following form:
Path Parameters
The ID of the application.
Body
Way to place an application to a funder. 1 (Api), 2 (Email), 3 (Manual), 4 (Lendflow). This field is optional. If field is not present use the funder's primary method.
1, 2, 3, 4 1
Stage identifier. Must be a valid UUID.
"977e5426-8d13-3824-86aa-b092f8ae52c5"
Funder identifier. This field is required when offer_template_id is not present. Must match an existing stored value.
null
Must be a valid email address.
["gbailey@example.net"]
This field is required when method is 2.
null
File IDs for application files uploaded.
null
Product Identifier. This field is required when offer_template_id is not present. Must match an existing stored value.
null
Must match an existing stored value.
null
null
Must be a valid URL.
"http://www.okon.com/accusantium-harum-mollitia-modi-deserunt-aut-ab"
Optional submission path for OnDeck funder automation. Options: standard (full documentation required), pre_approval (instant soft offers without documents), or auto (auto-selects based on config and document availability). Only applies to OnDeck funder. Defaults to standard.
standard, pre_approval, auto "pre_approval"
Optional override for which bank-statement source is sent. Options: bank_statements (PDFs only) or plaid_json (Plaid JSON only). Not all funders support every source; unsupported values are ignored. Omit to use the default order: original statements, then Plaid JSON, then Plaid PDFs.
bank_statements, plaid_json "bank_statements"
Response
Show child attributes
Show child attributes
Was this page helpful?