curl --request POST \
--url https://api.lendflow.com/api/applications/{application_id}/funded_offers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product_id": 1,
"stips": null,
"client_url": "https://example.com/offers/123",
"offer_template_id": 1,
"is_shared": false
}
'import requests
url = "https://api.lendflow.com/api/applications/{application_id}/funded_offers"
payload = {
"product_id": 1,
"stips": None,
"client_url": "https://example.com/offers/123",
"offer_template_id": 1,
"is_shared": False
}
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({
product_id: 1,
stips: null,
client_url: 'https://example.com/offers/123',
offer_template_id: 1,
is_shared: false
})
};
fetch('https://api.lendflow.com/api/applications/{application_id}/funded_offers', 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}/funded_offers",
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([
'product_id' => 1,
'stips' => null,
'client_url' => 'https://example.com/offers/123',
'offer_template_id' => 1,
'is_shared' => false
]),
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}/funded_offers"
payload := strings.NewReader("{\n \"product_id\": 1,\n \"stips\": null,\n \"client_url\": \"https://example.com/offers/123\",\n \"offer_template_id\": 1,\n \"is_shared\": false\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}/funded_offers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"product_id\": 1,\n \"stips\": null,\n \"client_url\": \"https://example.com/offers/123\",\n \"offer_template_id\": 1,\n \"is_shared\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lendflow.com/api/applications/{application_id}/funded_offers")
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 \"product_id\": 1,\n \"stips\": null,\n \"client_url\": \"https://example.com/offers/123\",\n \"offer_template_id\": 1,\n \"is_shared\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": null,
"application_id": "800e623e-6bc9-418d-b092-e844cea58f00",
"status": null,
"status_date": null,
"status_updated_via_borrower_platform": false,
"start_date": null,
"end_date": null,
"client_url": null,
"is_shared": false,
"viewed_at": null,
"max_facility_amount": null,
"advance_rate": null,
"base_rate": 1,
"interest_charged": null,
"30_day_discount_rate": null,
"10_day_discount_rate_after_initial_30_days": null,
"expense_deposit": null,
"origination_fee": null,
"renewal": null,
"term": null,
"term_length_timeframe": null,
"offer_generated_date": null,
"term_length": 0,
"offer_expiration_date": null,
"product": "ARLOC",
"funding_data": {
"max_facility_amount": null,
"advance_rate": null,
"30_day_discount_rate": null,
"10_day_discount_rate_after_initial_30_days": null,
"expense_deposit": null,
"origination_fee": null,
"renewal": null,
"term": null,
"term_length_timeframe": null,
"interest_charged": null,
"invoice_amount": null,
"draw_amount": null,
"start_date": null,
"end_date": null,
"base_rate": null
},
"is_legacy": true,
"details": {
"id": null,
"offer_id": null,
"offer": {
"base_rate": 1,
"term_length": 0,
"total_initial_payment": 0,
"number_of_payments": 0,
"funded_amount": 0
},
"closing": null,
"created_at": null,
"updated_at": 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,
"created_at": "2025-03-12T15:53:59.000000Z",
"updated_at": "2026-10-08T15:42:24.000000Z"
}
}
}
}Create a Funded Offer
This endpoint creates an accepted offer, confirms it, and moves the application to the Funded stage.
curl --request POST \
--url https://api.lendflow.com/api/applications/{application_id}/funded_offers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"product_id": 1,
"stips": null,
"client_url": "https://example.com/offers/123",
"offer_template_id": 1,
"is_shared": false
}
'import requests
url = "https://api.lendflow.com/api/applications/{application_id}/funded_offers"
payload = {
"product_id": 1,
"stips": None,
"client_url": "https://example.com/offers/123",
"offer_template_id": 1,
"is_shared": False
}
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({
product_id: 1,
stips: null,
client_url: 'https://example.com/offers/123',
offer_template_id: 1,
is_shared: false
})
};
fetch('https://api.lendflow.com/api/applications/{application_id}/funded_offers', 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}/funded_offers",
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([
'product_id' => 1,
'stips' => null,
'client_url' => 'https://example.com/offers/123',
'offer_template_id' => 1,
'is_shared' => false
]),
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}/funded_offers"
payload := strings.NewReader("{\n \"product_id\": 1,\n \"stips\": null,\n \"client_url\": \"https://example.com/offers/123\",\n \"offer_template_id\": 1,\n \"is_shared\": false\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}/funded_offers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"product_id\": 1,\n \"stips\": null,\n \"client_url\": \"https://example.com/offers/123\",\n \"offer_template_id\": 1,\n \"is_shared\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lendflow.com/api/applications/{application_id}/funded_offers")
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 \"product_id\": 1,\n \"stips\": null,\n \"client_url\": \"https://example.com/offers/123\",\n \"offer_template_id\": 1,\n \"is_shared\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": null,
"application_id": "800e623e-6bc9-418d-b092-e844cea58f00",
"status": null,
"status_date": null,
"status_updated_via_borrower_platform": false,
"start_date": null,
"end_date": null,
"client_url": null,
"is_shared": false,
"viewed_at": null,
"max_facility_amount": null,
"advance_rate": null,
"base_rate": 1,
"interest_charged": null,
"30_day_discount_rate": null,
"10_day_discount_rate_after_initial_30_days": null,
"expense_deposit": null,
"origination_fee": null,
"renewal": null,
"term": null,
"term_length_timeframe": null,
"offer_generated_date": null,
"term_length": 0,
"offer_expiration_date": null,
"product": "ARLOC",
"funding_data": {
"max_facility_amount": null,
"advance_rate": null,
"30_day_discount_rate": null,
"10_day_discount_rate_after_initial_30_days": null,
"expense_deposit": null,
"origination_fee": null,
"renewal": null,
"term": null,
"term_length_timeframe": null,
"interest_charged": null,
"invoice_amount": null,
"draw_amount": null,
"start_date": null,
"end_date": null,
"base_rate": null
},
"is_legacy": true,
"details": {
"id": null,
"offer_id": null,
"offer": {
"base_rate": 1,
"term_length": 0,
"total_initial_payment": 0,
"number_of_payments": 0,
"funded_amount": 0
},
"closing": null,
"created_at": null,
"updated_at": 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,
"created_at": "2025-03-12T15:53:59.000000Z",
"updated_at": "2026-10-08T15:42:24.000000Z"
}
}
}
}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
The ID of the product for the offer. Required when offer_template_id is not provided. This field is required when offer_template_id is not present. Must match an existing stored value.
1
The stips to attach to the offer. Defaults to the stips defined on the offer template.
Show child attributes
Show child attributes
null
A URL the borrower can visit to view the offer. Must be a valid URL. Must not be greater than 2083 characters.
"https://example.com/offers/123"
The ID of the offer template to build the offer from. Required when product_id is not provided. This field is required when product_id is not present. Must match an existing stored value.
1
Whether the offer is shared with the borrower.
false
Response
Show child attributes
Show child attributes
Was this page helpful?