List webhook request history
curl --request GET \
--url https://prod.truv.com/v1/webhook-requests/ \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>'import requests
url = "https://prod.truv.com/v1/webhook-requests/"
headers = {
"X-Access-Client-Id": "<api-key>",
"X-Access-Secret": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Access-Client-Id': '<api-key>', 'X-Access-Secret': '<api-key>'}
};
fetch('https://prod.truv.com/v1/webhook-requests/', 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/webhook-requests/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://prod.truv.com/v1/webhook-requests/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Client-Id", "<api-key>")
req.Header.Add("X-Access-Secret", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://prod.truv.com/v1/webhook-requests/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/webhook-requests/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Client-Id"] = '<api-key>'
request["X-Access-Secret"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"next": "<string>",
"previous": "<string>",
"results": [
{
"webhook_id": "48427a36d43c4d5aa6324bc06c692456",
"event_type": "task-status-updated",
"event_created_at": "2024-01-15T10:30:00Z",
"status_code": 200,
"error_message": null,
"webhook_payload": {
"webhook_id": "a3f5b7c9d1e2f4a6b8c0d2e4f6a8b0c2",
"event_type": "order-status-updated",
"event_created_at": "2026-01-27T00:00:16.279921Z",
"product": "assets",
"link_id": null,
"user_id": "b4c6d8e0f2a4b6c8d0e2f4a6b8c0d2e4",
"order_id": "c5d7e9f1a3b5c7d9e1f3a5b7c9d1e3f5",
"status": "expired"
},
"webhook_url": "https://example.com/webhooks/truv"
}
]
}{
"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"
}
}Webhook Endpoints
List webhook request history
Returns a paginated list of webhook requests filtered by the provided criteria. Only webhook requests from the last 30 days are available.
GET
/
v1
/
webhook-requests
/
List webhook request history
curl --request GET \
--url https://prod.truv.com/v1/webhook-requests/ \
--header 'X-Access-Client-Id: <api-key>' \
--header 'X-Access-Secret: <api-key>'import requests
url = "https://prod.truv.com/v1/webhook-requests/"
headers = {
"X-Access-Client-Id": "<api-key>",
"X-Access-Secret": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'X-Access-Client-Id': '<api-key>', 'X-Access-Secret': '<api-key>'}
};
fetch('https://prod.truv.com/v1/webhook-requests/', 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/webhook-requests/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://prod.truv.com/v1/webhook-requests/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Access-Client-Id", "<api-key>")
req.Header.Add("X-Access-Secret", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://prod.truv.com/v1/webhook-requests/")
.header("X-Access-Client-Id", "<api-key>")
.header("X-Access-Secret", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.truv.com/v1/webhook-requests/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Access-Client-Id"] = '<api-key>'
request["X-Access-Secret"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"next": "<string>",
"previous": "<string>",
"results": [
{
"webhook_id": "48427a36d43c4d5aa6324bc06c692456",
"event_type": "task-status-updated",
"event_created_at": "2024-01-15T10:30:00Z",
"status_code": 200,
"error_message": null,
"webhook_payload": {
"webhook_id": "a3f5b7c9d1e2f4a6b8c0d2e4f6a8b0c2",
"event_type": "order-status-updated",
"event_created_at": "2026-01-27T00:00:16.279921Z",
"product": "assets",
"link_id": null,
"user_id": "b4c6d8e0f2a4b6c8d0e2f4a6b8c0d2e4",
"order_id": "c5d7e9f1a3b5c7d9e1f3a5b7c9d1e3f5",
"status": "expired"
},
"webhook_url": "https://example.com/webhooks/truv"
}
]
}{
"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"
}
}Authorizations
Client ID
Client Access Key
Query Parameters
Filter records created on or after this ISO-8601 timestamp. Defaults to 30 days ago if not provided. Cannot be older than 30 days from current time. Must be less than or equal to created_at__lte if both are provided.
Filter records created on or before this ISO-8601 timestamp.
Filter by webhook event type.
Available options:
task-status-updated, order-status-updated, order-created, link-connected, link-disconnected, order-refresh-failed, link-deleted, employment-created, employment-updated, profile-created, profile-updated, statements-created, statements-updated, shifts-created, shifts-updated, bank-accounts-created, bank-accounts-updated, certification-completed, order-finalized, order-batch-completed Example:
"task-status-updated"
Filter by exact HTTP status code.
Required range:
100 <= x <= 599The pagination cursor value.
Number of results to return per page.
Required range:
x <= 100Was this page helpful?