curl -X GET 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/deliveries/?limit=50&date_from=2026-10-01' \
-H 'x-api-key: YOUR_API_KEY'import os
import requests
destination_uuid = '11111111-2222-3333-4444-555555555555'
url = f'https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/'
params = {'limit': 50, 'date_from': '2026-10-01'}
while url:
resp = requests.get(
url,
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
params=params,
timeout=10,
)
resp.raise_for_status()
page = resp.json()
for delivery in page['results']:
if delivery['response_status'] is None or delivery['response_status'] >= 400:
print(delivery['uuid'], delivery['webhook_type'], delivery['response_status'])
url, params = page['next'], None # next already carries the query stringconst destinationUuid = '11111111-2222-3333-4444-555555555555';
let url = `https://verification.didit.me/v3/webhook/destinations/${destinationUuid}/deliveries/?limit=50&date_from=2026-10-01`;
while (url) {
const resp = await fetch(url, { headers: { 'x-api-key': process.env.DIDIT_API_KEY } });
if (!resp.ok) throw new Error(`Request failed: ${resp.status}`);
const page = await resp.json();
for (const delivery of page.results) {
if (delivery.response_status === null || delivery.response_status >= 400) {
console.log(delivery.uuid, delivery.webhook_type, delivery.response_status);
}
}
url = page.next;
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/",
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-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"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<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://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "66666666-7777-8888-9999-000000000003",
"session_id": null,
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": null,
"response_time_ms": null,
"status": "APPROVED",
"webhook_type": "transaction.created",
"created_at": "2026-10-15T09:23:02.871190Z"
},
{
"uuid": "66666666-7777-8888-9999-000000000002",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 200,
"response_time_ms": 143,
"status": "In Progress",
"webhook_type": "status.updated",
"created_at": "2026-10-15T09:22:19.104233Z"
},
{
"uuid": "66666666-7777-8888-9999-000000000001",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 503,
"response_time_ms": 412,
"status": "In Progress",
"webhook_type": "status.updated",
"created_at": "2026-10-15T09:21:18.412345Z"
}
]
}List Webhook Destination Deliveries
Page through every delivery attempt to one webhook destination, newest first, with HTTP status, response time and event type.
curl -X GET 'https://verification.didit.me/v3/webhook/destinations/11111111-2222-3333-4444-555555555555/deliveries/?limit=50&date_from=2026-10-01' \
-H 'x-api-key: YOUR_API_KEY'import os
import requests
destination_uuid = '11111111-2222-3333-4444-555555555555'
url = f'https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/'
params = {'limit': 50, 'date_from': '2026-10-01'}
while url:
resp = requests.get(
url,
headers={'x-api-key': os.environ['DIDIT_API_KEY']},
params=params,
timeout=10,
)
resp.raise_for_status()
page = resp.json()
for delivery in page['results']:
if delivery['response_status'] is None or delivery['response_status'] >= 400:
print(delivery['uuid'], delivery['webhook_type'], delivery['response_status'])
url, params = page['next'], None # next already carries the query stringconst destinationUuid = '11111111-2222-3333-4444-555555555555';
let url = `https://verification.didit.me/v3/webhook/destinations/${destinationUuid}/deliveries/?limit=50&date_from=2026-10-01`;
while (url) {
const resp = await fetch(url, { headers: { 'x-api-key': process.env.DIDIT_API_KEY } });
if (!resp.ok) throw new Error(`Request failed: ${resp.status}`);
const page = await resp.json();
for (const delivery of page.results) {
if (delivery.response_status === null || delivery.response_status >= 400) {
console.log(delivery.uuid, delivery.webhook_type, delivery.response_status);
}
}
url = page.next;
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/",
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-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"
"net/http"
"io"
)
func main() {
url := "https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<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://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://verification.didit.me/v3/webhook/destinations/{destination_uuid}/deliveries/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"uuid": "66666666-7777-8888-9999-000000000003",
"session_id": null,
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": null,
"response_time_ms": null,
"status": "APPROVED",
"webhook_type": "transaction.created",
"created_at": "2026-10-15T09:23:02.871190Z"
},
{
"uuid": "66666666-7777-8888-9999-000000000002",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 200,
"response_time_ms": 143,
"status": "In Progress",
"webhook_type": "status.updated",
"created_at": "2026-10-15T09:22:19.104233Z"
},
{
"uuid": "66666666-7777-8888-9999-000000000001",
"session_id": "22222222-3333-4444-5555-666666666666",
"request_url": "https://yourapp.com/webhooks/didit",
"response_status": 503,
"response_time_ms": 412,
"status": "In Progress",
"webhook_type": "status.updated",
"created_at": "2026-10-15T09:21:18.412345Z"
}
]
}Authorizations
Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is missing, wrong, revoked or expired; 403 means the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.
Path Parameters
UUID of the destination (the uuid returned by GET /v3/webhook/destinations/).
Query Parameters
Maximum number of deliveries per page. Defaults to 50. A value that is not a positive integer falls back to 50; a value above 1000000 returns 400.
1 <= x <= 1000000Number of deliveries to skip. Defaults to 0. Prefer following the next and previous URLs from the response.
0 <= x <= 1000000First UTC day to include, as YYYY-MM-DD (inclusive). Omit to start from the oldest delivery available. dateFrom is accepted as an alias.
Last UTC day to include, as YYYY-MM-DD (inclusive). Must not be earlier than date_from. dateTo is accepted as an alias.
Response
One page of deliveries, newest first.
Matching deliveries, exact up to 100 and capped at 100 above that. Use next to know whether more pages exist.
x >= 0Absolute URL of the next page, or null on the last page.
Absolute URL of the previous page, or null on the first page.
Show child attributes
Show child attributes