curl --request POST \
--url https://prod.truv.com/v1/orders/batch/ \
--header 'Content-Type: application/json' \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>' \
--data '
{
"orders": [
{
"products": [
"income"
],
"first_name": "John",
"last_name": "Doe",
"ssn": "222233333",
"email": "jsmith@example.com",
"phone": "4155554193",
"order_number": "1534332",
"external_user_id": "user_12345",
"employers": [
{
"start_date": "2019-08-24",
"end_date": "2019-11-27",
"company_name": "Facebook Demo",
"company_domain": "facebook.com",
"company_logo": "https://cdn.truv.com/company_logos/facebook.svg",
"suborder_number": "133982343355",
"company_mapping_id": "self_employed",
"data_sources": [
"payroll"
]
}
],
"financial_institutions": [
{
"id": "<string>",
"name": "Chase",
"suborder_number": "133982343355"
}
],
"insurance": {
"provider_id": "geico"
},
"loan": {
"loan_number": "MUUT220700012",
"application_number": "APP-2207-0001",
"originator_name": "John Doe",
"originator_email": "john@example.com",
"loan_processor_name": "John Doe",
"loan_processor_email": "john@doe.com",
"external_id": "c505e0f1b4134fdc853fc87e7d2cc4a5"
},
"reports": {
"voa": {
"days_requested": 380,
"as_of_date": "2024-12-31",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": true,
"request_extended_history": true
}
},
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"custom_field": "<string>",
"cc_emails": [
"jsmith@example.com"
],
"notes": "To be processed by John Doe",
"source": "floify",
"notification_settings": {
"suppress_user_notifications": false,
"first_notification_delay_hours": 0
},
"locale": "es"
}
],
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"source": "internal"
}
'import requests
url = "https://prod.truv.com/v1/orders/batch/"
payload = {
"orders": [
{
"products": ["income"],
"first_name": "John",
"last_name": "Doe",
"ssn": "222233333",
"email": "jsmith@example.com",
"phone": "4155554193",
"order_number": "1534332",
"external_user_id": "user_12345",
"employers": [
{
"start_date": "2019-08-24",
"end_date": "2019-11-27",
"company_name": "Facebook Demo",
"company_domain": "facebook.com",
"company_logo": "https://cdn.truv.com/company_logos/facebook.svg",
"suborder_number": "133982343355",
"company_mapping_id": "self_employed",
"data_sources": ["payroll"]
}
],
"financial_institutions": [
{
"id": "<string>",
"name": "Chase",
"suborder_number": "133982343355"
}
],
"insurance": { "provider_id": "geico" },
"loan": {
"loan_number": "MUUT220700012",
"application_number": "APP-2207-0001",
"originator_name": "John Doe",
"originator_email": "john@example.com",
"loan_processor_name": "John Doe",
"loan_processor_email": "john@doe.com",
"external_id": "c505e0f1b4134fdc853fc87e7d2cc4a5"
},
"reports": { "voa": {
"days_requested": 380,
"as_of_date": "2024-12-31",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": True,
"request_extended_history": True
} },
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"custom_field": "<string>",
"cc_emails": ["jsmith@example.com"],
"notes": "To be processed by John Doe",
"source": "floify",
"notification_settings": {
"suppress_user_notifications": False,
"first_notification_delay_hours": 0
},
"locale": "es"
}
],
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"source": "internal"
}
headers = {
"X-Access-Client-Id": "<api-key>",
"X-Access-Secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Access-Client-Id': '<api-key>',
'X-Access-Secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
orders: [
{
products: ['income'],
first_name: 'John',
last_name: 'Doe',
ssn: '222233333',
email: 'jsmith@example.com',
phone: '4155554193',
order_number: '1534332',
external_user_id: 'user_12345',
employers: [
{
start_date: '2019-08-24',
end_date: '2019-11-27',
company_name: 'Facebook Demo',
company_domain: 'facebook.com',
company_logo: 'https://cdn.truv.com/company_logos/facebook.svg',
suborder_number: '133982343355',
company_mapping_id: 'self_employed',
data_sources: ['payroll']
}
],
financial_institutions: [{id: '<string>', name: 'Chase', suborder_number: '133982343355'}],
insurance: {provider_id: 'geico'},
loan: {
loan_number: 'MUUT220700012',
application_number: 'APP-2207-0001',
originator_name: 'John Doe',
originator_email: 'john@example.com',
loan_processor_name: 'John Doe',
loan_processor_email: 'john@doe.com',
external_id: 'c505e0f1b4134fdc853fc87e7d2cc4a5'
},
reports: {
voa: {
days_requested: 380,
as_of_date: '2024-12-31',
large_deposit_threshold: {
fixed_amount: 50000,
sales_price: 500005,
qualifying_monthly_income: 50005,
loan_type: 'FHA'
},
is_voe: true,
request_extended_history: true
}
},
template_id: '9b96606355b94e8abff8ed8d75aa2027',
custom_field: '<string>',
cc_emails: ['jsmith@example.com'],
notes: 'To be processed by John Doe',
source: 'floify',
notification_settings: {suppress_user_notifications: false, first_notification_delay_hours: 0},
locale: 'es'
}
],
template_id: '9b96606355b94e8abff8ed8d75aa2027',
source: 'internal'
})
};
fetch('https://prod.truv.com/v1/orders/batch/', 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://prod.truv.com/v1/orders/batch/",
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([
'orders' => [
[
'products' => [
'income'
],
'first_name' => 'John',
'last_name' => 'Doe',
'ssn' => '222233333',
'email' => 'jsmith@example.com',
'phone' => '4155554193',
'order_number' => '1534332',
'external_user_id' => 'user_12345',
'employers' => [
[
'start_date' => '2019-08-24',
'end_date' => '2019-11-27',
'company_name' => 'Facebook Demo',
'company_domain' => 'facebook.com',
'company_logo' => 'https://cdn.truv.com/company_logos/facebook.svg',
'suborder_number' => '133982343355',
'company_mapping_id' => 'self_employed',
'data_sources' => [
'payroll'
]
]
],
'financial_institutions' => [
[
'id' => '<string>',
'name' => 'Chase',
'suborder_number' => '133982343355'
]
],
'insurance' => [
'provider_id' => 'geico'
],
'loan' => [
'loan_number' => 'MUUT220700012',
'application_number' => 'APP-2207-0001',
'originator_name' => 'John Doe',
'originator_email' => 'john@example.com',
'loan_processor_name' => 'John Doe',
'loan_processor_email' => 'john@doe.com',
'external_id' => 'c505e0f1b4134fdc853fc87e7d2cc4a5'
],
'reports' => [
'voa' => [
'days_requested' => 380,
'as_of_date' => '2024-12-31',
'large_deposit_threshold' => [
'fixed_amount' => 50000,
'sales_price' => 500005,
'qualifying_monthly_income' => 50005,
'loan_type' => 'FHA'
],
'is_voe' => true,
'request_extended_history' => true
]
],
'template_id' => '9b96606355b94e8abff8ed8d75aa2027',
'custom_field' => '<string>',
'cc_emails' => [
'jsmith@example.com'
],
'notes' => 'To be processed by John Doe',
'source' => 'floify',
'notification_settings' => [
'suppress_user_notifications' => false,
'first_notification_delay_hours' => 0
],
'locale' => 'es'
]
],
'template_id' => '9b96606355b94e8abff8ed8d75aa2027',
'source' => 'internal'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Access-Client-Id: <api-key>",
"X-Access-Secret: <api-key>"
],
]);
$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://prod.truv.com/v1/orders/batch/"
payload := strings.NewReader("{\n \"orders\": [\n {\n \"products\": [\n \"income\"\n ],\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"ssn\": \"222233333\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"order_number\": \"1534332\",\n \"external_user_id\": \"user_12345\",\n \"employers\": [\n {\n \"start_date\": \"2019-08-24\",\n \"end_date\": \"2019-11-27\",\n \"company_name\": \"Facebook Demo\",\n \"company_domain\": \"facebook.com\",\n \"company_logo\": \"https://cdn.truv.com/company_logos/facebook.svg\",\n \"suborder_number\": \"133982343355\",\n \"company_mapping_id\": \"self_employed\",\n \"data_sources\": [\n \"payroll\"\n ]\n }\n ],\n \"financial_institutions\": [\n {\n \"id\": \"<string>\",\n \"name\": \"Chase\",\n \"suborder_number\": \"133982343355\"\n }\n ],\n \"insurance\": {\n \"provider_id\": \"geico\"\n },\n \"loan\": {\n \"loan_number\": \"MUUT220700012\",\n \"application_number\": \"APP-2207-0001\",\n \"originator_name\": \"John Doe\",\n \"originator_email\": \"john@example.com\",\n \"loan_processor_name\": \"John Doe\",\n \"loan_processor_email\": \"john@doe.com\",\n \"external_id\": \"c505e0f1b4134fdc853fc87e7d2cc4a5\"\n },\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-12-31\",\n \"large_deposit_threshold\": {\n \"fixed_amount\": 50000,\n \"sales_price\": 500005,\n \"qualifying_monthly_income\": 50005,\n \"loan_type\": \"FHA\"\n },\n \"is_voe\": true,\n \"request_extended_history\": true\n }\n },\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"custom_field\": \"<string>\",\n \"cc_emails\": [\n \"jsmith@example.com\"\n ],\n \"notes\": \"To be processed by John Doe\",\n \"source\": \"floify\",\n \"notification_settings\": {\n \"suppress_user_notifications\": false,\n \"first_notification_delay_hours\": 0\n },\n \"locale\": \"es\"\n }\n ],\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"source\": \"internal\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Access-Client-Id", "<api-key>")
req.Header.Add("X-Access-Secret", "<api-key>")
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://prod.truv.com/v1/orders/batch/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"orders\": [\n {\n \"products\": [\n \"income\"\n ],\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"ssn\": \"222233333\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"order_number\": \"1534332\",\n \"external_user_id\": \"user_12345\",\n \"employers\": [\n {\n \"start_date\": \"2019-08-24\",\n \"end_date\": \"2019-11-27\",\n \"company_name\": \"Facebook Demo\",\n \"company_domain\": \"facebook.com\",\n \"company_logo\": \"https://cdn.truv.com/company_logos/facebook.svg\",\n \"suborder_number\": \"133982343355\",\n \"company_mapping_id\": \"self_employed\",\n \"data_sources\": [\n \"payroll\"\n ]\n }\n ],\n \"financial_institutions\": [\n {\n \"id\": \"<string>\",\n \"name\": \"Chase\",\n \"suborder_number\": \"133982343355\"\n }\n ],\n \"insurance\": {\n \"provider_id\": \"geico\"\n },\n \"loan\": {\n \"loan_number\": \"MUUT220700012\",\n \"application_number\": \"APP-2207-0001\",\n \"originator_name\": \"John Doe\",\n \"originator_email\": \"john@example.com\",\n \"loan_processor_name\": \"John Doe\",\n \"loan_processor_email\": \"john@doe.com\",\n \"external_id\": \"c505e0f1b4134fdc853fc87e7d2cc4a5\"\n },\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-12-31\",\n \"large_deposit_threshold\": {\n \"fixed_amount\": 50000,\n \"sales_price\": 500005,\n \"qualifying_monthly_income\": 50005,\n \"loan_type\": \"FHA\"\n },\n \"is_voe\": true,\n \"request_extended_history\": true\n }\n },\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"custom_field\": \"<string>\",\n \"cc_emails\": [\n \"jsmith@example.com\"\n ],\n \"notes\": \"To be processed by John Doe\",\n \"source\": \"floify\",\n \"notification_settings\": {\n \"suppress_user_notifications\": false,\n \"first_notification_delay_hours\": 0\n },\n \"locale\": \"es\"\n }\n ],\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"source\": \"internal\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/orders/batch/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Access-Client-Id"] = '<api-key>'
request["X-Access-Secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orders\": [\n {\n \"products\": [\n \"income\"\n ],\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"ssn\": \"222233333\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"order_number\": \"1534332\",\n \"external_user_id\": \"user_12345\",\n \"employers\": [\n {\n \"start_date\": \"2019-08-24\",\n \"end_date\": \"2019-11-27\",\n \"company_name\": \"Facebook Demo\",\n \"company_domain\": \"facebook.com\",\n \"company_logo\": \"https://cdn.truv.com/company_logos/facebook.svg\",\n \"suborder_number\": \"133982343355\",\n \"company_mapping_id\": \"self_employed\",\n \"data_sources\": [\n \"payroll\"\n ]\n }\n ],\n \"financial_institutions\": [\n {\n \"id\": \"<string>\",\n \"name\": \"Chase\",\n \"suborder_number\": \"133982343355\"\n }\n ],\n \"insurance\": {\n \"provider_id\": \"geico\"\n },\n \"loan\": {\n \"loan_number\": \"MUUT220700012\",\n \"application_number\": \"APP-2207-0001\",\n \"originator_name\": \"John Doe\",\n \"originator_email\": \"john@example.com\",\n \"loan_processor_name\": \"John Doe\",\n \"loan_processor_email\": \"john@doe.com\",\n \"external_id\": \"c505e0f1b4134fdc853fc87e7d2cc4a5\"\n },\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-12-31\",\n \"large_deposit_threshold\": {\n \"fixed_amount\": 50000,\n \"sales_price\": 500005,\n \"qualifying_monthly_income\": 50005,\n \"loan_type\": \"FHA\"\n },\n \"is_voe\": true,\n \"request_extended_history\": true\n }\n },\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"custom_field\": \"<string>\",\n \"cc_emails\": [\n \"jsmith@example.com\"\n ],\n \"notes\": \"To be processed by John Doe\",\n \"source\": \"floify\",\n \"notification_settings\": {\n \"suppress_user_notifications\": false,\n \"first_notification_delay_hours\": 0\n },\n \"locale\": \"es\"\n }\n ],\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"source\": \"internal\"\n}"
response = http.request(request)
puts response.read_body{
"id": "9f2c1b7e4a3d4e8fa1b2c3d4e5f60718",
"status": "completed",
"order_count": 3,
"created_count": 2,
"failed_count": 1,
"results": [
{
"index": 0,
"status": "created",
"order_id": "39aa1486ccca4bc19cda071ffc1ba392",
"order_number": "CASE-001",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"share_url": "https://cdn.truv.com/employment.html?bridge_token=e4100fccdae94691b4414c7306220c06",
"short_share_url": "https://truv.com/s/BIlEyh1A",
"errors": {
"last_name": [
"This field is required."
]
}
}
],
"errors": [
{
"detail": [
"The batch could not be processed."
]
}
],
"created_at": "2026-08-10T09:14:22.881Z",
"updated_at": "2026-08-10T09:15:04.203Z"
}{
"error": {
"code": "incorrect_parameters",
"message": "Incorrect request parameters",
"extra": {
"invalid-params": [
{
"field": "access_token",
"message": "This field is required."
}
]
}
}
}{
"error": {
"code": "authentication_failed",
"message": "No such token"
}
}{
"error": {
"code": "not_authenticated",
"message": "Authentication credentials were not provided."
}
}Create orders as a batch
The endpoint accepts up to 10,000 orders in a single request and creates them in the background. It responds immediately with 202 and a job id — poll the job status to get the result of each order.
Each order is processed on its own: valid orders are created and invalid ones are reported against their position in the request, so one bad order never blocks the rest. An order whose order_number already exists in the environment is reused instead of duplicated, which makes retrying a batch safe.
Rate limits count every order in the request, not the request itself. A batch of 500 orders therefore uses the same budget as 500 calls to create an order.
curl --request POST \
--url https://prod.truv.com/v1/orders/batch/ \
--header 'Content-Type: application/json' \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>' \
--data '
{
"orders": [
{
"products": [
"income"
],
"first_name": "John",
"last_name": "Doe",
"ssn": "222233333",
"email": "jsmith@example.com",
"phone": "4155554193",
"order_number": "1534332",
"external_user_id": "user_12345",
"employers": [
{
"start_date": "2019-08-24",
"end_date": "2019-11-27",
"company_name": "Facebook Demo",
"company_domain": "facebook.com",
"company_logo": "https://cdn.truv.com/company_logos/facebook.svg",
"suborder_number": "133982343355",
"company_mapping_id": "self_employed",
"data_sources": [
"payroll"
]
}
],
"financial_institutions": [
{
"id": "<string>",
"name": "Chase",
"suborder_number": "133982343355"
}
],
"insurance": {
"provider_id": "geico"
},
"loan": {
"loan_number": "MUUT220700012",
"application_number": "APP-2207-0001",
"originator_name": "John Doe",
"originator_email": "john@example.com",
"loan_processor_name": "John Doe",
"loan_processor_email": "john@doe.com",
"external_id": "c505e0f1b4134fdc853fc87e7d2cc4a5"
},
"reports": {
"voa": {
"days_requested": 380,
"as_of_date": "2024-12-31",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": true,
"request_extended_history": true
}
},
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"custom_field": "<string>",
"cc_emails": [
"jsmith@example.com"
],
"notes": "To be processed by John Doe",
"source": "floify",
"notification_settings": {
"suppress_user_notifications": false,
"first_notification_delay_hours": 0
},
"locale": "es"
}
],
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"source": "internal"
}
'import requests
url = "https://prod.truv.com/v1/orders/batch/"
payload = {
"orders": [
{
"products": ["income"],
"first_name": "John",
"last_name": "Doe",
"ssn": "222233333",
"email": "jsmith@example.com",
"phone": "4155554193",
"order_number": "1534332",
"external_user_id": "user_12345",
"employers": [
{
"start_date": "2019-08-24",
"end_date": "2019-11-27",
"company_name": "Facebook Demo",
"company_domain": "facebook.com",
"company_logo": "https://cdn.truv.com/company_logos/facebook.svg",
"suborder_number": "133982343355",
"company_mapping_id": "self_employed",
"data_sources": ["payroll"]
}
],
"financial_institutions": [
{
"id": "<string>",
"name": "Chase",
"suborder_number": "133982343355"
}
],
"insurance": { "provider_id": "geico" },
"loan": {
"loan_number": "MUUT220700012",
"application_number": "APP-2207-0001",
"originator_name": "John Doe",
"originator_email": "john@example.com",
"loan_processor_name": "John Doe",
"loan_processor_email": "john@doe.com",
"external_id": "c505e0f1b4134fdc853fc87e7d2cc4a5"
},
"reports": { "voa": {
"days_requested": 380,
"as_of_date": "2024-12-31",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": True,
"request_extended_history": True
} },
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"custom_field": "<string>",
"cc_emails": ["jsmith@example.com"],
"notes": "To be processed by John Doe",
"source": "floify",
"notification_settings": {
"suppress_user_notifications": False,
"first_notification_delay_hours": 0
},
"locale": "es"
}
],
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"source": "internal"
}
headers = {
"X-Access-Client-Id": "<api-key>",
"X-Access-Secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Access-Client-Id': '<api-key>',
'X-Access-Secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
orders: [
{
products: ['income'],
first_name: 'John',
last_name: 'Doe',
ssn: '222233333',
email: 'jsmith@example.com',
phone: '4155554193',
order_number: '1534332',
external_user_id: 'user_12345',
employers: [
{
start_date: '2019-08-24',
end_date: '2019-11-27',
company_name: 'Facebook Demo',
company_domain: 'facebook.com',
company_logo: 'https://cdn.truv.com/company_logos/facebook.svg',
suborder_number: '133982343355',
company_mapping_id: 'self_employed',
data_sources: ['payroll']
}
],
financial_institutions: [{id: '<string>', name: 'Chase', suborder_number: '133982343355'}],
insurance: {provider_id: 'geico'},
loan: {
loan_number: 'MUUT220700012',
application_number: 'APP-2207-0001',
originator_name: 'John Doe',
originator_email: 'john@example.com',
loan_processor_name: 'John Doe',
loan_processor_email: 'john@doe.com',
external_id: 'c505e0f1b4134fdc853fc87e7d2cc4a5'
},
reports: {
voa: {
days_requested: 380,
as_of_date: '2024-12-31',
large_deposit_threshold: {
fixed_amount: 50000,
sales_price: 500005,
qualifying_monthly_income: 50005,
loan_type: 'FHA'
},
is_voe: true,
request_extended_history: true
}
},
template_id: '9b96606355b94e8abff8ed8d75aa2027',
custom_field: '<string>',
cc_emails: ['jsmith@example.com'],
notes: 'To be processed by John Doe',
source: 'floify',
notification_settings: {suppress_user_notifications: false, first_notification_delay_hours: 0},
locale: 'es'
}
],
template_id: '9b96606355b94e8abff8ed8d75aa2027',
source: 'internal'
})
};
fetch('https://prod.truv.com/v1/orders/batch/', 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://prod.truv.com/v1/orders/batch/",
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([
'orders' => [
[
'products' => [
'income'
],
'first_name' => 'John',
'last_name' => 'Doe',
'ssn' => '222233333',
'email' => 'jsmith@example.com',
'phone' => '4155554193',
'order_number' => '1534332',
'external_user_id' => 'user_12345',
'employers' => [
[
'start_date' => '2019-08-24',
'end_date' => '2019-11-27',
'company_name' => 'Facebook Demo',
'company_domain' => 'facebook.com',
'company_logo' => 'https://cdn.truv.com/company_logos/facebook.svg',
'suborder_number' => '133982343355',
'company_mapping_id' => 'self_employed',
'data_sources' => [
'payroll'
]
]
],
'financial_institutions' => [
[
'id' => '<string>',
'name' => 'Chase',
'suborder_number' => '133982343355'
]
],
'insurance' => [
'provider_id' => 'geico'
],
'loan' => [
'loan_number' => 'MUUT220700012',
'application_number' => 'APP-2207-0001',
'originator_name' => 'John Doe',
'originator_email' => 'john@example.com',
'loan_processor_name' => 'John Doe',
'loan_processor_email' => 'john@doe.com',
'external_id' => 'c505e0f1b4134fdc853fc87e7d2cc4a5'
],
'reports' => [
'voa' => [
'days_requested' => 380,
'as_of_date' => '2024-12-31',
'large_deposit_threshold' => [
'fixed_amount' => 50000,
'sales_price' => 500005,
'qualifying_monthly_income' => 50005,
'loan_type' => 'FHA'
],
'is_voe' => true,
'request_extended_history' => true
]
],
'template_id' => '9b96606355b94e8abff8ed8d75aa2027',
'custom_field' => '<string>',
'cc_emails' => [
'jsmith@example.com'
],
'notes' => 'To be processed by John Doe',
'source' => 'floify',
'notification_settings' => [
'suppress_user_notifications' => false,
'first_notification_delay_hours' => 0
],
'locale' => 'es'
]
],
'template_id' => '9b96606355b94e8abff8ed8d75aa2027',
'source' => 'internal'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Access-Client-Id: <api-key>",
"X-Access-Secret: <api-key>"
],
]);
$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://prod.truv.com/v1/orders/batch/"
payload := strings.NewReader("{\n \"orders\": [\n {\n \"products\": [\n \"income\"\n ],\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"ssn\": \"222233333\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"order_number\": \"1534332\",\n \"external_user_id\": \"user_12345\",\n \"employers\": [\n {\n \"start_date\": \"2019-08-24\",\n \"end_date\": \"2019-11-27\",\n \"company_name\": \"Facebook Demo\",\n \"company_domain\": \"facebook.com\",\n \"company_logo\": \"https://cdn.truv.com/company_logos/facebook.svg\",\n \"suborder_number\": \"133982343355\",\n \"company_mapping_id\": \"self_employed\",\n \"data_sources\": [\n \"payroll\"\n ]\n }\n ],\n \"financial_institutions\": [\n {\n \"id\": \"<string>\",\n \"name\": \"Chase\",\n \"suborder_number\": \"133982343355\"\n }\n ],\n \"insurance\": {\n \"provider_id\": \"geico\"\n },\n \"loan\": {\n \"loan_number\": \"MUUT220700012\",\n \"application_number\": \"APP-2207-0001\",\n \"originator_name\": \"John Doe\",\n \"originator_email\": \"john@example.com\",\n \"loan_processor_name\": \"John Doe\",\n \"loan_processor_email\": \"john@doe.com\",\n \"external_id\": \"c505e0f1b4134fdc853fc87e7d2cc4a5\"\n },\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-12-31\",\n \"large_deposit_threshold\": {\n \"fixed_amount\": 50000,\n \"sales_price\": 500005,\n \"qualifying_monthly_income\": 50005,\n \"loan_type\": \"FHA\"\n },\n \"is_voe\": true,\n \"request_extended_history\": true\n }\n },\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"custom_field\": \"<string>\",\n \"cc_emails\": [\n \"jsmith@example.com\"\n ],\n \"notes\": \"To be processed by John Doe\",\n \"source\": \"floify\",\n \"notification_settings\": {\n \"suppress_user_notifications\": false,\n \"first_notification_delay_hours\": 0\n },\n \"locale\": \"es\"\n }\n ],\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"source\": \"internal\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Access-Client-Id", "<api-key>")
req.Header.Add("X-Access-Secret", "<api-key>")
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://prod.truv.com/v1/orders/batch/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"orders\": [\n {\n \"products\": [\n \"income\"\n ],\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"ssn\": \"222233333\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"order_number\": \"1534332\",\n \"external_user_id\": \"user_12345\",\n \"employers\": [\n {\n \"start_date\": \"2019-08-24\",\n \"end_date\": \"2019-11-27\",\n \"company_name\": \"Facebook Demo\",\n \"company_domain\": \"facebook.com\",\n \"company_logo\": \"https://cdn.truv.com/company_logos/facebook.svg\",\n \"suborder_number\": \"133982343355\",\n \"company_mapping_id\": \"self_employed\",\n \"data_sources\": [\n \"payroll\"\n ]\n }\n ],\n \"financial_institutions\": [\n {\n \"id\": \"<string>\",\n \"name\": \"Chase\",\n \"suborder_number\": \"133982343355\"\n }\n ],\n \"insurance\": {\n \"provider_id\": \"geico\"\n },\n \"loan\": {\n \"loan_number\": \"MUUT220700012\",\n \"application_number\": \"APP-2207-0001\",\n \"originator_name\": \"John Doe\",\n \"originator_email\": \"john@example.com\",\n \"loan_processor_name\": \"John Doe\",\n \"loan_processor_email\": \"john@doe.com\",\n \"external_id\": \"c505e0f1b4134fdc853fc87e7d2cc4a5\"\n },\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-12-31\",\n \"large_deposit_threshold\": {\n \"fixed_amount\": 50000,\n \"sales_price\": 500005,\n \"qualifying_monthly_income\": 50005,\n \"loan_type\": \"FHA\"\n },\n \"is_voe\": true,\n \"request_extended_history\": true\n }\n },\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"custom_field\": \"<string>\",\n \"cc_emails\": [\n \"jsmith@example.com\"\n ],\n \"notes\": \"To be processed by John Doe\",\n \"source\": \"floify\",\n \"notification_settings\": {\n \"suppress_user_notifications\": false,\n \"first_notification_delay_hours\": 0\n },\n \"locale\": \"es\"\n }\n ],\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"source\": \"internal\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/orders/batch/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Access-Client-Id"] = '<api-key>'
request["X-Access-Secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orders\": [\n {\n \"products\": [\n \"income\"\n ],\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"ssn\": \"222233333\",\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"order_number\": \"1534332\",\n \"external_user_id\": \"user_12345\",\n \"employers\": [\n {\n \"start_date\": \"2019-08-24\",\n \"end_date\": \"2019-11-27\",\n \"company_name\": \"Facebook Demo\",\n \"company_domain\": \"facebook.com\",\n \"company_logo\": \"https://cdn.truv.com/company_logos/facebook.svg\",\n \"suborder_number\": \"133982343355\",\n \"company_mapping_id\": \"self_employed\",\n \"data_sources\": [\n \"payroll\"\n ]\n }\n ],\n \"financial_institutions\": [\n {\n \"id\": \"<string>\",\n \"name\": \"Chase\",\n \"suborder_number\": \"133982343355\"\n }\n ],\n \"insurance\": {\n \"provider_id\": \"geico\"\n },\n \"loan\": {\n \"loan_number\": \"MUUT220700012\",\n \"application_number\": \"APP-2207-0001\",\n \"originator_name\": \"John Doe\",\n \"originator_email\": \"john@example.com\",\n \"loan_processor_name\": \"John Doe\",\n \"loan_processor_email\": \"john@doe.com\",\n \"external_id\": \"c505e0f1b4134fdc853fc87e7d2cc4a5\"\n },\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-12-31\",\n \"large_deposit_threshold\": {\n \"fixed_amount\": 50000,\n \"sales_price\": 500005,\n \"qualifying_monthly_income\": 50005,\n \"loan_type\": \"FHA\"\n },\n \"is_voe\": true,\n \"request_extended_history\": true\n }\n },\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"custom_field\": \"<string>\",\n \"cc_emails\": [\n \"jsmith@example.com\"\n ],\n \"notes\": \"To be processed by John Doe\",\n \"source\": \"floify\",\n \"notification_settings\": {\n \"suppress_user_notifications\": false,\n \"first_notification_delay_hours\": 0\n },\n \"locale\": \"es\"\n }\n ],\n \"template_id\": \"9b96606355b94e8abff8ed8d75aa2027\",\n \"source\": \"internal\"\n}"
response = http.request(request)
puts response.read_body{
"id": "9f2c1b7e4a3d4e8fa1b2c3d4e5f60718",
"status": "completed",
"order_count": 3,
"created_count": 2,
"failed_count": 1,
"results": [
{
"index": 0,
"status": "created",
"order_id": "39aa1486ccca4bc19cda071ffc1ba392",
"order_number": "CASE-001",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"share_url": "https://cdn.truv.com/employment.html?bridge_token=e4100fccdae94691b4414c7306220c06",
"short_share_url": "https://truv.com/s/BIlEyh1A",
"errors": {
"last_name": [
"This field is required."
]
}
}
],
"errors": [
{
"detail": [
"The batch could not be processed."
]
}
],
"created_at": "2026-08-10T09:14:22.881Z",
"updated_at": "2026-08-10T09:15:04.203Z"
}{
"error": {
"code": "incorrect_parameters",
"message": "Incorrect request parameters",
"extra": {
"invalid-params": [
{
"field": "access_token",
"message": "This field is required."
}
]
}
}
}{
"error": {
"code": "authentication_failed",
"message": "No such token"
}
}{
"error": {
"code": "not_authenticated",
"message": "Authentication credentials were not provided."
}
}Authorizations
Client ID
Client Access Key
Body
Orders to create, with optional defaults applied to every order
Orders to create. Each item takes the same fields as a single order, and is validated individually when the batch runs.
1 - 10000 elementsShow child attributes
Show child attributes
Template applied to every order that does not set its own template_id.
32"9b96606355b94e8abff8ed8d75aa2027"
Source applied to every order that does not set its own source.
floify, besmartee, lenderlogix, encompass_consumer_connect, byte, core_logic, xactus, constellation, banno, mx, q2, clutch, accio, encompass, tpo_connect, darkmatter, tazworks, internal, simplenexus, external_webpage, individual, alkami, blue_sage, lodasoft, blend, tidalwave, self_signup "internal"
Response
Batch job ID. Use it to poll the job status.
"9f2c1b7e4a3d4e8fa1b2c3d4e5f60718"
pending while orders are still being created, then completed once every order has an outcome, or failed if the whole job could not run.
pending, completed, failed "completed"
Number of orders submitted in the request.
3
Number of orders that are usable, counting both created and existing.
2
Number of orders that could not be created.
1
Outcome of each submitted order, matched to its position in the request.
Show child attributes
Show child attributes
Why the job as a whole could not run. Set only when status is failed, and null otherwise — errors for individual orders are in results[].errors instead.
Show child attributes
Show child attributes
[
{
"detail": ["The batch could not be processed."]
}
]
Time the batch was accepted.
"2026-08-10T09:14:22.881Z"
Time the batch was last updated.
"2026-08-10T09:15:04.203Z"
Was this page helpful?