curl --request POST \
--url https://prod.truv.com/v1/orders/{id}/ \
--header 'Content-Type: application/json' \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>' \
--data '
{
"products": [
"employment"
],
"employers": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"financial_accounts": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"email": "jsmith@example.com",
"phone": "4155554193",
"include_recent_paystub": true,
"reports": {
"voa": {
"days_requested": 380,
"as_of_date": "2024-01-01",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": true,
"request_extended_history": true,
"account_ids": [
"<string>"
]
}
}
}
'import requests
url = "https://prod.truv.com/v1/orders/{id}/"
payload = {
"products": ["employment"],
"employers": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"financial_accounts": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"email": "jsmith@example.com",
"phone": "4155554193",
"include_recent_paystub": True,
"reports": { "voa": {
"days_requested": 380,
"as_of_date": "2024-01-01",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": True,
"request_extended_history": True,
"account_ids": ["<string>"]
} }
}
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({
products: ['employment'],
employers: [{id: '<string>', suborder_number: '<string>'}],
financial_accounts: [{id: '<string>', suborder_number: '<string>'}],
email: 'jsmith@example.com',
phone: '4155554193',
include_recent_paystub: true,
reports: {
voa: {
days_requested: 380,
as_of_date: '2024-01-01',
large_deposit_threshold: {
fixed_amount: 50000,
sales_price: 500005,
qualifying_monthly_income: 50005,
loan_type: 'FHA'
},
is_voe: true,
request_extended_history: true,
account_ids: ['<string>']
}
}
})
};
fetch('https://prod.truv.com/v1/orders/{id}/', 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/{id}/",
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([
'products' => [
'employment'
],
'employers' => [
[
'id' => '<string>',
'suborder_number' => '<string>'
]
],
'financial_accounts' => [
[
'id' => '<string>',
'suborder_number' => '<string>'
]
],
'email' => 'jsmith@example.com',
'phone' => '4155554193',
'include_recent_paystub' => true,
'reports' => [
'voa' => [
'days_requested' => 380,
'as_of_date' => '2024-01-01',
'large_deposit_threshold' => [
'fixed_amount' => 50000,
'sales_price' => 500005,
'qualifying_monthly_income' => 50005,
'loan_type' => 'FHA'
],
'is_voe' => true,
'request_extended_history' => true,
'account_ids' => [
'<string>'
]
]
]
]),
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/{id}/"
payload := strings.NewReader("{\n \"products\": [\n \"employment\"\n ],\n \"employers\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"financial_accounts\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"include_recent_paystub\": true,\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-01-01\",\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 \"account_ids\": [\n \"<string>\"\n ]\n }\n }\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/{id}/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"products\": [\n \"employment\"\n ],\n \"employers\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"financial_accounts\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"include_recent_paystub\": true,\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-01-01\",\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 \"account_ids\": [\n \"<string>\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/orders/{id}/")
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 \"products\": [\n \"employment\"\n ],\n \"employers\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"financial_accounts\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"include_recent_paystub\": true,\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-01-01\",\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 \"account_ids\": [\n \"<string>\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "39aa1486ccca4bc19cda071ffc1ba392",
"products": [
"income"
],
"source": "floify",
"client_name": "Unnamed Verifications Inc.",
"first_name": "John",
"last_name": "Doe",
"user_id": "99dd17074ac94aa9ace2621d657c7610",
"share_url": "https://cdn.truv.com/employment.html?bridge_token=63b4af88facb40e48f517c1e8c7abdf4&order_group_id=39aa1486ccca4bc19cda071ffc1ba392",
"created_at": "2021-04-21T21:45:14.418542Z",
"expired_at": "2021-04-24T21:45:14.418542Z",
"is_expired": true,
"employers": [
{
"id": "ad9f14440d624ec3b0f66e81e44518c7",
"status": "pending",
"created_at": "2021-04-21T22:12:59.346109Z",
"employments": [
{
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"profile": {
"first_name": "John",
"last_name": "Doe",
"id": "48427a36d43c4d5aa6324bc06c692456",
"created_at": "2022-06-07T15:00:00Z",
"updated_at": "2022-06-30T15:00:00Z",
"full_name": "John Doe",
"middle_initials": "K",
"email": "john.doe@example.com",
"ssn": "123456789",
"date_of_birth": "1992-03-03",
"home_address": {
"street": "1 Morgan Ave",
"city": "Los Angeles",
"state": "CA",
"zip": "90210",
"country": "US"
}
},
"company": {
"name": "Facebook Demo",
"address": {
"street": "1 Morgan Ave",
"city": "Los Angeles",
"state": "CA",
"zip": "90210",
"country": "US"
},
"phone": "6503087300",
"ein": "12-345678"
},
"income": "70000.00",
"income_unit": "YEARLY",
"pay_rate": "6500.00",
"pay_frequency": "M",
"statements": [
{
"pay_date": "2018-05-15",
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"check_number": "29205182",
"net_pay": "11500.32",
"net_pay_ytd": "31980.64",
"gross_pay": "13900.11",
"gross_pay_ytd": "49200.00",
"bonus": "100.00",
"commission": "12000.00",
"hours": "40.00",
"basis_of_pay": "S",
"period_start": "2018-05-01",
"period_end": "2018-05-15",
"regular": "1695.11",
"regular_ytd": "23000.00",
"other_pay_ytd": "700.00",
"bonus_ytd": "1000.00",
"commission_ytd": "24000.00",
"overtime": "45.00",
"overtime_ytd": "500.00",
"other_pay": "60.00",
"earnings": [
{
"name": "Regular",
"amount": "1935.77",
"category": "regular",
"rate": null,
"units": null
},
{
"name": "Overtime",
"amount": "60.58",
"category": "overtime",
"rate": "30.29",
"units": "2"
}
],
"earnings_ytd": [
{
"name": "Regular",
"amount": "1935.77",
"category": "regular",
"rate": null,
"units": null
},
{
"name": "Overtime",
"amount": "60.58",
"category": "overtime",
"rate": "30.29",
"units": "2"
}
],
"deductions": [
{
"name": "Social Security Tax",
"amount": "127.01",
"category": "socialsec"
},
{
"name": "VA State Income Tax",
"amount": "46.23",
"category": "state"
},
{
"name": "Medicare Tax",
"amount": "29.7",
"category": "medicare"
}
],
"deductions_ytd": [
{
"name": "Social Security Tax",
"amount": "127.01",
"category": "socialsec"
},
{
"name": "VA State Income Tax",
"amount": "46.23",
"category": "state"
},
{
"name": "Medicare Tax",
"amount": "29.7",
"category": "medicare"
}
],
"md5sum": "03639d6a6624f69a54a88ea90bd25e9d",
"file": "https://cdn.truv.com/paystub_sample.pdf",
"derived_fields": [
"basis_of_pay"
],
"missing_data_fields": [
"earnings_ytd"
]
}
],
"annual_income_summary": [
{
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"year": 2018,
"regular": "23000.00",
"bonus": "1000.00",
"commission": "24000.00",
"overtime": "500.00",
"other_pay": "700.00",
"net_pay": "31980.64",
"gross_pay": "49200.00"
}
],
"bank_accounts": [
{
"account_number": "1234567890",
"routing_number": "123456789",
"account_name": "My Bank",
"account_type": "C",
"deposit_type": "A",
"deposit_value": "200.00",
"bank_name": "TD Bank"
}
],
"w2s": [
{
"file": "https://cdn.truv.com/W2_sample.pdf",
"md5sum": "f65e30c39124ad707ac4b3aeaee923a7",
"year": 2020,
"wages": "900.50",
"federal_tax": "75.01",
"social_security_wages": "900.50",
"social_security_tax": "56.30",
"medicare_wages": "900.50",
"medicare_tax": "13.15",
"gross_pay": "18211.48"
}
],
"is_active": false,
"job_title": "PR associate",
"job_type": "F",
"start_date": "2018-01-01",
"original_hire_date": "2017-06-21",
"end_date": "2023-12-25",
"external_last_updated": "2023-12-25",
"dates_from_statements": false,
"derived_fields": [
"is_active"
],
"missing_data_fields": [
"w2s"
],
"manager_name": "Jenny McDouglas"
}
],
"product_type": "income",
"suborder_number": "133982343355",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"link_id": "e4100fccdae94691b4414c7306220c06",
"access_token": "e4100fccdae94691b4414c7306220c06",
"pdf_report": "https://cdn.truv.com/report.pdf",
"data_source": "payroll",
"provider": {
"id": "truv_api",
"name": "Sandbox Provider",
"logo_url": "https://cdn.truv.com/providers/truv-blue.svg"
},
"is_suspicious": true,
"start_date": "2019-08-24",
"end_date": "2019-11-27",
"company_name": "Facebook Demo",
"company_address": {
"street": "1 Hacker Way",
"city": "Menlo Park",
"state": "CA",
"zip": "94025"
},
"company_domain": "facebook.com",
"company_logo": "https://cdn.truv.com/company_logos/facebook.svg"
}
],
"order_number": "1534332",
"custom_field": "<string>",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"updated_at": "2021-04-21T21:45:14.418542Z",
"canceled_at": "2021-04-22T21:45:14.418542Z",
"completed_at": "2021-04-22T21:45:14.418542Z",
"user_consent_at": "2021-04-21T21:45:14.418542Z",
"initial_order": "f5dc0239e2094dbc90ab2edc1918a9df",
"refresh_order": "9b96606355b94e8abff8ed8d75aa2027",
"insurance": {
"id": "ad9f14440d624ec3b0f66e81e44518c7",
"status": "pending",
"created_at": "2021-04-21T22:12:59.346109Z",
"product_type": "insurance",
"suborder_number": "133982343355",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"link_id": "e4100fccdae94691b4414c7306220c06",
"access_token": "e4100fccdae94691b4414c7306220c06",
"pdf_report": "https://cdn.truv.com/report.pdf",
"data_source": "insurance",
"provider": {
"id": "truv_api",
"name": "Sandbox Provider",
"logo_url": "https://cdn.truv.com/providers/truv-blue.svg"
},
"is_suspicious": true,
"provider_id": "geico"
},
"manager": {
"email": "john.doe@example.com",
"name": "John Doe"
},
"financial_accounts": [
{
"id": "ad9f14440d624ec3b0f66e81e44518c7",
"status": "pending",
"created_at": "2021-04-21T22:12:59.346109Z",
"product_type": "transactions",
"suborder_number": "133982343355",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"link_id": "e4100fccdae94691b4414c7306220c06",
"access_token": "e4100fccdae94691b4414c7306220c06",
"pdf_report": "https://cdn.truv.com/report.pdf",
"data_source": "financial_accounts",
"provider": {
"id": "truv_api",
"name": "Sandbox Provider",
"logo_url": "https://cdn.truv.com/providers/truv-blue.svg"
},
"is_suspicious": true,
"accounts": [
{
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"type": "CHECKING",
"subtype": "MONEY_MARKET",
"mask": "6789",
"balance": "5000.00",
"owners": [
{
"full_name": "John Doe"
}
]
}
]
}
],
"loan": {
"loan_number": "MUUT220700012",
"originator_name": "John Doe",
"originator_email": "john@example.com",
"loan_processor_name": "John Doe",
"loan_processor_email": "john@doe.com",
"external_id": "c505e0f1b4134fdc853fc87e7d2cc4a5"
},
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"cc_emails": [
"jsmith@example.com"
],
"short_share_url": "https://truv.com/s/BIlEyh1A",
"voie_report_id": "b19c454a98594b4084b71e3b62873d29",
"voa_report_id": "b19c454a98594b4084b71e3b62873d29",
"income_insights_report_id": "b19c454a98594b4084b71e3b62873d29",
"aim_check_report_id": "FM-1234-39aa1486ccca4bc19cda071ffc1ba392",
"notes": "To be processed by John Doe"
}{
"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."
}
}{
"error": {
"code": "throttled",
"message": "Request was throttled."
}
}Create a data refresh order
The endpoint creates the new order with data populated from the existing order.
curl --request POST \
--url https://prod.truv.com/v1/orders/{id}/ \
--header 'Content-Type: application/json' \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>' \
--data '
{
"products": [
"employment"
],
"employers": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"financial_accounts": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"email": "jsmith@example.com",
"phone": "4155554193",
"include_recent_paystub": true,
"reports": {
"voa": {
"days_requested": 380,
"as_of_date": "2024-01-01",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": true,
"request_extended_history": true,
"account_ids": [
"<string>"
]
}
}
}
'import requests
url = "https://prod.truv.com/v1/orders/{id}/"
payload = {
"products": ["employment"],
"employers": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"financial_accounts": [
{
"id": "<string>",
"suborder_number": "<string>"
}
],
"email": "jsmith@example.com",
"phone": "4155554193",
"include_recent_paystub": True,
"reports": { "voa": {
"days_requested": 380,
"as_of_date": "2024-01-01",
"large_deposit_threshold": {
"fixed_amount": 50000,
"sales_price": 500005,
"qualifying_monthly_income": 50005,
"loan_type": "FHA"
},
"is_voe": True,
"request_extended_history": True,
"account_ids": ["<string>"]
} }
}
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({
products: ['employment'],
employers: [{id: '<string>', suborder_number: '<string>'}],
financial_accounts: [{id: '<string>', suborder_number: '<string>'}],
email: 'jsmith@example.com',
phone: '4155554193',
include_recent_paystub: true,
reports: {
voa: {
days_requested: 380,
as_of_date: '2024-01-01',
large_deposit_threshold: {
fixed_amount: 50000,
sales_price: 500005,
qualifying_monthly_income: 50005,
loan_type: 'FHA'
},
is_voe: true,
request_extended_history: true,
account_ids: ['<string>']
}
}
})
};
fetch('https://prod.truv.com/v1/orders/{id}/', 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/{id}/",
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([
'products' => [
'employment'
],
'employers' => [
[
'id' => '<string>',
'suborder_number' => '<string>'
]
],
'financial_accounts' => [
[
'id' => '<string>',
'suborder_number' => '<string>'
]
],
'email' => 'jsmith@example.com',
'phone' => '4155554193',
'include_recent_paystub' => true,
'reports' => [
'voa' => [
'days_requested' => 380,
'as_of_date' => '2024-01-01',
'large_deposit_threshold' => [
'fixed_amount' => 50000,
'sales_price' => 500005,
'qualifying_monthly_income' => 50005,
'loan_type' => 'FHA'
],
'is_voe' => true,
'request_extended_history' => true,
'account_ids' => [
'<string>'
]
]
]
]),
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/{id}/"
payload := strings.NewReader("{\n \"products\": [\n \"employment\"\n ],\n \"employers\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"financial_accounts\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"include_recent_paystub\": true,\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-01-01\",\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 \"account_ids\": [\n \"<string>\"\n ]\n }\n }\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/{id}/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"products\": [\n \"employment\"\n ],\n \"employers\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"financial_accounts\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"include_recent_paystub\": true,\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-01-01\",\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 \"account_ids\": [\n \"<string>\"\n ]\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/orders/{id}/")
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 \"products\": [\n \"employment\"\n ],\n \"employers\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"financial_accounts\": [\n {\n \"id\": \"<string>\",\n \"suborder_number\": \"<string>\"\n }\n ],\n \"email\": \"jsmith@example.com\",\n \"phone\": \"4155554193\",\n \"include_recent_paystub\": true,\n \"reports\": {\n \"voa\": {\n \"days_requested\": 380,\n \"as_of_date\": \"2024-01-01\",\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 \"account_ids\": [\n \"<string>\"\n ]\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "39aa1486ccca4bc19cda071ffc1ba392",
"products": [
"income"
],
"source": "floify",
"client_name": "Unnamed Verifications Inc.",
"first_name": "John",
"last_name": "Doe",
"user_id": "99dd17074ac94aa9ace2621d657c7610",
"share_url": "https://cdn.truv.com/employment.html?bridge_token=63b4af88facb40e48f517c1e8c7abdf4&order_group_id=39aa1486ccca4bc19cda071ffc1ba392",
"created_at": "2021-04-21T21:45:14.418542Z",
"expired_at": "2021-04-24T21:45:14.418542Z",
"is_expired": true,
"employers": [
{
"id": "ad9f14440d624ec3b0f66e81e44518c7",
"status": "pending",
"created_at": "2021-04-21T22:12:59.346109Z",
"employments": [
{
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"profile": {
"first_name": "John",
"last_name": "Doe",
"id": "48427a36d43c4d5aa6324bc06c692456",
"created_at": "2022-06-07T15:00:00Z",
"updated_at": "2022-06-30T15:00:00Z",
"full_name": "John Doe",
"middle_initials": "K",
"email": "john.doe@example.com",
"ssn": "123456789",
"date_of_birth": "1992-03-03",
"home_address": {
"street": "1 Morgan Ave",
"city": "Los Angeles",
"state": "CA",
"zip": "90210",
"country": "US"
}
},
"company": {
"name": "Facebook Demo",
"address": {
"street": "1 Morgan Ave",
"city": "Los Angeles",
"state": "CA",
"zip": "90210",
"country": "US"
},
"phone": "6503087300",
"ein": "12-345678"
},
"income": "70000.00",
"income_unit": "YEARLY",
"pay_rate": "6500.00",
"pay_frequency": "M",
"statements": [
{
"pay_date": "2018-05-15",
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"check_number": "29205182",
"net_pay": "11500.32",
"net_pay_ytd": "31980.64",
"gross_pay": "13900.11",
"gross_pay_ytd": "49200.00",
"bonus": "100.00",
"commission": "12000.00",
"hours": "40.00",
"basis_of_pay": "S",
"period_start": "2018-05-01",
"period_end": "2018-05-15",
"regular": "1695.11",
"regular_ytd": "23000.00",
"other_pay_ytd": "700.00",
"bonus_ytd": "1000.00",
"commission_ytd": "24000.00",
"overtime": "45.00",
"overtime_ytd": "500.00",
"other_pay": "60.00",
"earnings": [
{
"name": "Regular",
"amount": "1935.77",
"category": "regular",
"rate": null,
"units": null
},
{
"name": "Overtime",
"amount": "60.58",
"category": "overtime",
"rate": "30.29",
"units": "2"
}
],
"earnings_ytd": [
{
"name": "Regular",
"amount": "1935.77",
"category": "regular",
"rate": null,
"units": null
},
{
"name": "Overtime",
"amount": "60.58",
"category": "overtime",
"rate": "30.29",
"units": "2"
}
],
"deductions": [
{
"name": "Social Security Tax",
"amount": "127.01",
"category": "socialsec"
},
{
"name": "VA State Income Tax",
"amount": "46.23",
"category": "state"
},
{
"name": "Medicare Tax",
"amount": "29.7",
"category": "medicare"
}
],
"deductions_ytd": [
{
"name": "Social Security Tax",
"amount": "127.01",
"category": "socialsec"
},
{
"name": "VA State Income Tax",
"amount": "46.23",
"category": "state"
},
{
"name": "Medicare Tax",
"amount": "29.7",
"category": "medicare"
}
],
"md5sum": "03639d6a6624f69a54a88ea90bd25e9d",
"file": "https://cdn.truv.com/paystub_sample.pdf",
"derived_fields": [
"basis_of_pay"
],
"missing_data_fields": [
"earnings_ytd"
]
}
],
"annual_income_summary": [
{
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"year": 2018,
"regular": "23000.00",
"bonus": "1000.00",
"commission": "24000.00",
"overtime": "500.00",
"other_pay": "700.00",
"net_pay": "31980.64",
"gross_pay": "49200.00"
}
],
"bank_accounts": [
{
"account_number": "1234567890",
"routing_number": "123456789",
"account_name": "My Bank",
"account_type": "C",
"deposit_type": "A",
"deposit_value": "200.00",
"bank_name": "TD Bank"
}
],
"w2s": [
{
"file": "https://cdn.truv.com/W2_sample.pdf",
"md5sum": "f65e30c39124ad707ac4b3aeaee923a7",
"year": 2020,
"wages": "900.50",
"federal_tax": "75.01",
"social_security_wages": "900.50",
"social_security_tax": "56.30",
"medicare_wages": "900.50",
"medicare_tax": "13.15",
"gross_pay": "18211.48"
}
],
"is_active": false,
"job_title": "PR associate",
"job_type": "F",
"start_date": "2018-01-01",
"original_hire_date": "2017-06-21",
"end_date": "2023-12-25",
"external_last_updated": "2023-12-25",
"dates_from_statements": false,
"derived_fields": [
"is_active"
],
"missing_data_fields": [
"w2s"
],
"manager_name": "Jenny McDouglas"
}
],
"product_type": "income",
"suborder_number": "133982343355",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"link_id": "e4100fccdae94691b4414c7306220c06",
"access_token": "e4100fccdae94691b4414c7306220c06",
"pdf_report": "https://cdn.truv.com/report.pdf",
"data_source": "payroll",
"provider": {
"id": "truv_api",
"name": "Sandbox Provider",
"logo_url": "https://cdn.truv.com/providers/truv-blue.svg"
},
"is_suspicious": true,
"start_date": "2019-08-24",
"end_date": "2019-11-27",
"company_name": "Facebook Demo",
"company_address": {
"street": "1 Hacker Way",
"city": "Menlo Park",
"state": "CA",
"zip": "94025"
},
"company_domain": "facebook.com",
"company_logo": "https://cdn.truv.com/company_logos/facebook.svg"
}
],
"order_number": "1534332",
"custom_field": "<string>",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"updated_at": "2021-04-21T21:45:14.418542Z",
"canceled_at": "2021-04-22T21:45:14.418542Z",
"completed_at": "2021-04-22T21:45:14.418542Z",
"user_consent_at": "2021-04-21T21:45:14.418542Z",
"initial_order": "f5dc0239e2094dbc90ab2edc1918a9df",
"refresh_order": "9b96606355b94e8abff8ed8d75aa2027",
"insurance": {
"id": "ad9f14440d624ec3b0f66e81e44518c7",
"status": "pending",
"created_at": "2021-04-21T22:12:59.346109Z",
"product_type": "insurance",
"suborder_number": "133982343355",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"link_id": "e4100fccdae94691b4414c7306220c06",
"access_token": "e4100fccdae94691b4414c7306220c06",
"pdf_report": "https://cdn.truv.com/report.pdf",
"data_source": "insurance",
"provider": {
"id": "truv_api",
"name": "Sandbox Provider",
"logo_url": "https://cdn.truv.com/providers/truv-blue.svg"
},
"is_suspicious": true,
"provider_id": "geico"
},
"manager": {
"email": "john.doe@example.com",
"name": "John Doe"
},
"financial_accounts": [
{
"id": "ad9f14440d624ec3b0f66e81e44518c7",
"status": "pending",
"created_at": "2021-04-21T22:12:59.346109Z",
"product_type": "transactions",
"suborder_number": "133982343355",
"bridge_token": "e4100fccdae94691b4414c7306220c06",
"link_id": "e4100fccdae94691b4414c7306220c06",
"access_token": "e4100fccdae94691b4414c7306220c06",
"pdf_report": "https://cdn.truv.com/report.pdf",
"data_source": "financial_accounts",
"provider": {
"id": "truv_api",
"name": "Sandbox Provider",
"logo_url": "https://cdn.truv.com/providers/truv-blue.svg"
},
"is_suspicious": true,
"accounts": [
{
"id": "24d7e80942ce4ad58a93f70ce4115f5c",
"type": "CHECKING",
"subtype": "MONEY_MARKET",
"mask": "6789",
"balance": "5000.00",
"owners": [
{
"full_name": "John Doe"
}
]
}
]
}
],
"loan": {
"loan_number": "MUUT220700012",
"originator_name": "John Doe",
"originator_email": "john@example.com",
"loan_processor_name": "John Doe",
"loan_processor_email": "john@doe.com",
"external_id": "c505e0f1b4134fdc853fc87e7d2cc4a5"
},
"template_id": "9b96606355b94e8abff8ed8d75aa2027",
"cc_emails": [
"jsmith@example.com"
],
"short_share_url": "https://truv.com/s/BIlEyh1A",
"voie_report_id": "b19c454a98594b4084b71e3b62873d29",
"voa_report_id": "b19c454a98594b4084b71e3b62873d29",
"income_insights_report_id": "b19c454a98594b4084b71e3b62873d29",
"aim_check_report_id": "FM-1234-39aa1486ccca4bc19cda071ffc1ba392",
"notes": "To be processed by John Doe"
}{
"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."
}
}{
"error": {
"code": "throttled",
"message": "Request was throttled."
}
}Authorizations
Client ID
Client Access Key
Path Parameters
Order ID received from the POST request
Body
Indicates the type of product to use for the data refresh order. For the "income" type orders the data refresh order can be "income" or "employment" type. For the "employment" type orders the data refresh order can be only "employment" type.
1 elementemployment, income, insurance, transactions, assets ["employment"]
List of employers to include in the new refresh order data.
Show child attributes
Show child attributes
List of financial accounts to include in the new refresh order data.
Show child attributes
Show child attributes
Associate new order manager info with a new data refresh order.
Show child attributes
Show child attributes
Subject's email
Subject's phone number
"4155554193"
A boolean parameter to include the latest statement in the employment report
Reports parameters
Show child attributes
Show child attributes
Response
Unique ID
"39aa1486ccca4bc19cda071ffc1ba392"
Types of products selected for the order
income, employment, deposit_switch, pll, insurance, transactions, assets ["income"]
Type of the platform (internal, accio, etc.)
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 "floify"
Client name displayed on the order page
"Unnamed Verifications Inc."
First name
"John"
Last name
"Doe"
Unique Truv ID of the user.
"99dd17074ac94aa9ace2621d657c7610"
Landing page URL to share
"https://cdn.truv.com/employment.html?bridge_token=63b4af88facb40e48f517c1e8c7abdf4&order_group_id=39aa1486ccca4bc19cda071ffc1ba392"
Date and time when order was created
"2021-04-21T21:45:14.418542Z"
Date and time when order would expire
"2021-04-24T21:45:14.418542Z"
If order is already expired
List of employers
Show child attributes
Show child attributes
External ID
"1534332"
User provided custom field. Must be enabled in the customization section.
UUID value of bridge token
"e4100fccdae94691b4414c7306220c06"
Date and time when order was updated
"2021-04-21T21:45:14.418542Z"
Date and time when order was canceled
"2021-04-22T21:45:14.418542Z"
Date and time when order was successfully completed
"2021-04-22T21:45:14.418542Z"
Date and time when explicit user consent was given
"2021-04-21T21:45:14.418542Z"
ID of an origin order if the order was created by the order data refresh operation
"f5dc0239e2094dbc90ab2edc1918a9df"
ID of the last refresh order created by the order data refresh operation for the order
"9b96606355b94e8abff8ed8d75aa2027"
Insurance verification meta data
Show child attributes
Show child attributes
Order manager info associated with an order.
Show child attributes
Show child attributes
List of financial accounts
Show child attributes
Show child attributes
Loan Information
Show child attributes
Show child attributes
ID of the template
"9b96606355b94e8abff8ed8d75aa2027"
A list of email addresses that will receive carbon copies (CC) of order status updates.
15Shortened verification URL to share
"https://truv.com/s/BIlEyh1A"
GSE accepted income and employment verification report ID
"b19c454a98594b4084b71e3b62873d29"
Verification of Assets report ID
"b19c454a98594b4084b71e3b62873d29"
Income Insights report ID
"b19c454a98594b4084b71e3b62873d29"
AIM check report ID
"FM-1234-39aa1486ccca4bc19cda071ffc1ba392"
Free text field for notes associated with the order
1 - 2000"To be processed by John Doe"
Was this page helpful?