Test webhook delivery
curl --request POST \
--url https://api.truthlocks.com/v1/webhooks/test-delivery \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"endpoint_id": "<string>",
"event_type": "test.ping"
}
'import requests
url = "https://api.truthlocks.com/v1/webhooks/test-delivery"
payload = {
"endpoint_id": "<string>",
"event_type": "test.ping"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({endpoint_id: '<string>', event_type: 'test.ping'})
};
fetch('https://api.truthlocks.com/v1/webhooks/test-delivery', 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.truthlocks.com/v1/webhooks/test-delivery",
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([
'endpoint_id' => '<string>',
'event_type' => 'test.ping'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://api.truthlocks.com/v1/webhooks/test-delivery"
payload := strings.NewReader("{\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"test.ping\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://api.truthlocks.com/v1/webhooks/test-delivery")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"test.ping\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/webhooks/test-delivery")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"test.ping\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"status_code": 123,
"response_time_ms": 123
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Webhooks
Send test delivery
Sends a test event to a webhook endpoint to verify connectivity.
POST
/
v1
/
webhooks
/
test-delivery
Test webhook delivery
curl --request POST \
--url https://api.truthlocks.com/v1/webhooks/test-delivery \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"endpoint_id": "<string>",
"event_type": "test.ping"
}
'import requests
url = "https://api.truthlocks.com/v1/webhooks/test-delivery"
payload = {
"endpoint_id": "<string>",
"event_type": "test.ping"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({endpoint_id: '<string>', event_type: 'test.ping'})
};
fetch('https://api.truthlocks.com/v1/webhooks/test-delivery', 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.truthlocks.com/v1/webhooks/test-delivery",
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([
'endpoint_id' => '<string>',
'event_type' => 'test.ping'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://api.truthlocks.com/v1/webhooks/test-delivery"
payload := strings.NewReader("{\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"test.ping\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<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://api.truthlocks.com/v1/webhooks/test-delivery")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"test.ping\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.truthlocks.com/v1/webhooks/test-delivery")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"endpoint_id\": \"<string>\",\n \"event_type\": \"test.ping\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"status_code": 123,
"response_time_ms": 123
}{
"code": "AUTH_REQUIRED",
"message": "Authentication required",
"http_status": 401
}Sends a test event to a webhook endpoint using the full signing and delivery pipeline. Use this to verify that your endpoint is reachable and correctly verifying signatures before subscribing to real events. A confirmation email is sent to the authenticated user on success.
Parameters
uuid
required
The ID of the webhook endpoint to test
string
Event type for the test payload. Defaults to
webhook.test if omitted.object
Custom JSON payload to send. Defaults to
{"status": "ok", "source": "test-delivery"} if omitted.Responses
The response tells you whether the test delivery reached your endpoint and what HTTP status code it returned.Use the test delivery endpoint during development to confirm your signature verification logic works correctly before going live. The test event goes through the same signing pipeline as real events.
Authorizations
API key for machine-to-machine authentication
Body
application/json

