curl --request POST \
--url https://prod.truv.com/v1/refresh/tasks/ \
--header 'Content-Type: application/json' \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>' \
--data '
{
"access_token": "48427a36d43c4d5aa6324bc06c692456",
"product_type": "income",
"account": {
"account_number": "16002600",
"account_type": "checking",
"routing_number": "123456789",
"bank_name": "TD Bank",
"deposit_type": "entire",
"deposit_value": "50.00"
},
"request_extended_history": false
}
'import requests
url = "https://prod.truv.com/v1/refresh/tasks/"
payload = {
"access_token": "48427a36d43c4d5aa6324bc06c692456",
"product_type": "income",
"account": {
"account_number": "16002600",
"account_type": "checking",
"routing_number": "123456789",
"bank_name": "TD Bank",
"deposit_type": "entire",
"deposit_value": "50.00"
},
"request_extended_history": False
}
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({
access_token: '48427a36d43c4d5aa6324bc06c692456',
product_type: 'income',
account: {
account_number: '16002600',
account_type: 'checking',
routing_number: '123456789',
bank_name: 'TD Bank',
deposit_type: 'entire',
deposit_value: '50.00'
},
request_extended_history: false
})
};
fetch('https://prod.truv.com/v1/refresh/tasks/', 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/refresh/tasks/",
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([
'access_token' => '48427a36d43c4d5aa6324bc06c692456',
'product_type' => 'income',
'account' => [
'account_number' => '16002600',
'account_type' => 'checking',
'routing_number' => '123456789',
'bank_name' => 'TD Bank',
'deposit_type' => 'entire',
'deposit_value' => '50.00'
],
'request_extended_history' => false
]),
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/refresh/tasks/"
payload := strings.NewReader("{\n \"access_token\": \"48427a36d43c4d5aa6324bc06c692456\",\n \"product_type\": \"income\",\n \"account\": {\n \"account_number\": \"16002600\",\n \"account_type\": \"checking\",\n \"routing_number\": \"123456789\",\n \"bank_name\": \"TD Bank\",\n \"deposit_type\": \"entire\",\n \"deposit_value\": \"50.00\"\n },\n \"request_extended_history\": false\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/refresh/tasks/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"access_token\": \"48427a36d43c4d5aa6324bc06c692456\",\n \"product_type\": \"income\",\n \"account\": {\n \"account_number\": \"16002600\",\n \"account_type\": \"checking\",\n \"routing_number\": \"123456789\",\n \"bank_name\": \"TD Bank\",\n \"deposit_type\": \"entire\",\n \"deposit_value\": \"50.00\"\n },\n \"request_extended_history\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/refresh/tasks/")
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 \"access_token\": \"48427a36d43c4d5aa6324bc06c692456\",\n \"product_type\": \"income\",\n \"account\": {\n \"account_number\": \"16002600\",\n \"account_type\": \"checking\",\n \"routing_number\": \"123456789\",\n \"bank_name\": \"TD Bank\",\n \"deposit_type\": \"entire\",\n \"deposit_value\": \"50.00\"\n },\n \"request_extended_history\": false\n}"
response = http.request(request)
puts response.read_body{
"task_id": "48427a36d43c4d5aa6324bc06c692456"
}{
"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 task
The endpoint creates a link data refresh task.
curl --request POST \
--url https://prod.truv.com/v1/refresh/tasks/ \
--header 'Content-Type: application/json' \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>' \
--data '
{
"access_token": "48427a36d43c4d5aa6324bc06c692456",
"product_type": "income",
"account": {
"account_number": "16002600",
"account_type": "checking",
"routing_number": "123456789",
"bank_name": "TD Bank",
"deposit_type": "entire",
"deposit_value": "50.00"
},
"request_extended_history": false
}
'import requests
url = "https://prod.truv.com/v1/refresh/tasks/"
payload = {
"access_token": "48427a36d43c4d5aa6324bc06c692456",
"product_type": "income",
"account": {
"account_number": "16002600",
"account_type": "checking",
"routing_number": "123456789",
"bank_name": "TD Bank",
"deposit_type": "entire",
"deposit_value": "50.00"
},
"request_extended_history": False
}
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({
access_token: '48427a36d43c4d5aa6324bc06c692456',
product_type: 'income',
account: {
account_number: '16002600',
account_type: 'checking',
routing_number: '123456789',
bank_name: 'TD Bank',
deposit_type: 'entire',
deposit_value: '50.00'
},
request_extended_history: false
})
};
fetch('https://prod.truv.com/v1/refresh/tasks/', 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/refresh/tasks/",
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([
'access_token' => '48427a36d43c4d5aa6324bc06c692456',
'product_type' => 'income',
'account' => [
'account_number' => '16002600',
'account_type' => 'checking',
'routing_number' => '123456789',
'bank_name' => 'TD Bank',
'deposit_type' => 'entire',
'deposit_value' => '50.00'
],
'request_extended_history' => false
]),
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/refresh/tasks/"
payload := strings.NewReader("{\n \"access_token\": \"48427a36d43c4d5aa6324bc06c692456\",\n \"product_type\": \"income\",\n \"account\": {\n \"account_number\": \"16002600\",\n \"account_type\": \"checking\",\n \"routing_number\": \"123456789\",\n \"bank_name\": \"TD Bank\",\n \"deposit_type\": \"entire\",\n \"deposit_value\": \"50.00\"\n },\n \"request_extended_history\": false\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/refresh/tasks/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"access_token\": \"48427a36d43c4d5aa6324bc06c692456\",\n \"product_type\": \"income\",\n \"account\": {\n \"account_number\": \"16002600\",\n \"account_type\": \"checking\",\n \"routing_number\": \"123456789\",\n \"bank_name\": \"TD Bank\",\n \"deposit_type\": \"entire\",\n \"deposit_value\": \"50.00\"\n },\n \"request_extended_history\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/refresh/tasks/")
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 \"access_token\": \"48427a36d43c4d5aa6324bc06c692456\",\n \"product_type\": \"income\",\n \"account\": {\n \"account_number\": \"16002600\",\n \"account_type\": \"checking\",\n \"routing_number\": \"123456789\",\n \"bank_name\": \"TD Bank\",\n \"deposit_type\": \"entire\",\n \"deposit_value\": \"50.00\"\n },\n \"request_extended_history\": false\n}"
response = http.request(request)
puts response.read_body{
"task_id": "48427a36d43c4d5aa6324bc06c692456"
}{
"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
Body
Link data refresh task
Refresh Link data task
Access token for a Link to payroll provider
32"48427a36d43c4d5aa6324bc06c692456"
Indicates the type of product to use:
employment- Employment verification,income- Income and Employment verification,deposit_switch- Direct deposit switch,pll- Paycheck linked lending,insurance- Insurance verification,transactions- Financial account aggregation,assets- Assets verification,
income, employment, deposit_switch, pll, insurance, transactions, assets "income"
Bank account info. Used for Paycheck Linked Loans
Show child attributes
Show child attributes
When true, this refresh pulls the full transaction-history window (730 days) instead of the 90-day default. Applies only to refreshes of connected financial accounts. By default every refresh uses the shallow 90-day window, regardless of how much history the original connection pulled — set this flag on each refresh that needs the full window.
false
Response
Response for refresh task creation endpoint.
Unique ID for the Link data refresh task
"48427a36d43c4d5aa6324bc06c692456"
Was this page helpful?