from didit import Didit
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
client = Didit()
for item in client.webhooks.destinations.list_activity(
"11111111-2222-3333-4444-555555555555",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
const didit = new Didit();
for await (const item of didit.webhooks.destinations.listActivity("11111111-2222-3333-4444-555555555555")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
client := didit.NewClient()
iter := client.Webhooks.Destinations.ListActivityAutoPaging(ctx, "11111111-2222-3333-4444-555555555555", didit.WebhooksDestinationsListActivityParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
Didit client = new Didit();
for (var item : client.webhooks().destinations().listActivity("11111111-2222-3333-4444-555555555555")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
$didit = new DiditClient();
foreach ($didit->webhooks->destinations->listActivity('11111111-2222-3333-4444-555555555555') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
didit = Didit::Client.new
didit.webhooks.destinations.list_activity("11111111-2222-3333-4444-555555555555").auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
using var client = new DiditClient();
await foreach (var item in await client.Webhooks.Destinations.ListActivityAsync("11111111-2222-3333-4444-555555555555"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}curl --request GET \
--url https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/webhook/destinations/{destination_uuid}/activity/ \
--header 'x-api-key: <api-key>'{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "00000000-0000-4000-8000-000000000003",
"type": "failure_alert",
"occurred_at": "2026-11-11T01:00:00Z",
"failure_count": 3
}
]
}{
"detail": "GET request rate limit exceeded. You can make up to 600 requests per minute.",
"reference": "RL-00000000000040008000000000000001",
"limit": 600,
"remaining": 0,
"reset": 1794358860,
"window_seconds": 60
}Webhook Destination Failure Activity API
List Didit webhook destination failure alerts with timestamps and failure counts, using read access and limit/offset pagination.
from didit import Didit
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
client = Didit()
for item in client.webhooks.destinations.list_activity(
"11111111-2222-3333-4444-555555555555",
):
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
const didit = new Didit();
for await (const item of didit.webhooks.destinations.listActivity("11111111-2222-3333-4444-555555555555")) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
client := didit.NewClient()
iter := client.Webhooks.Destinations.ListActivityAutoPaging(ctx, "11111111-2222-3333-4444-555555555555", didit.WebhooksDestinationsListActivityParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
Didit client = new Didit();
for (var item : client.webhooks().destinations().listActivity("11111111-2222-3333-4444-555555555555")) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
$didit = new DiditClient();
foreach ($didit->webhooks->destinations->listActivity('11111111-2222-3333-4444-555555555555') as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
# and DIDIT_APPLICATION_ID.
didit = Didit::Client.new
didit.webhooks.destinations.list_activity("11111111-2222-3333-4444-555555555555").auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY, DIDIT_ORGANIZATION_ID
// and DIDIT_APPLICATION_ID.
using var client = new DiditClient();
await foreach (var item in await client.Webhooks.Destinations.ListActivityAsync("11111111-2222-3333-4444-555555555555"))
{
Console.WriteLine(JsonSerializer.Serialize(item));
}curl --request GET \
--url https://verification.didit.me/v3/organization/{organization_id}/application/{application_id}/webhook/destinations/{destination_uuid}/activity/ \
--header 'x-api-key: <api-key>'{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"id": "00000000-0000-4000-8000-000000000003",
"type": "failure_alert",
"occurred_at": "2026-11-11T01:00:00Z",
"failure_count": 3
}
]
}{
"detail": "GET request rate limit exceeded. You can make up to 600 requests per minute.",
"reference": "RL-00000000000040008000000000000001",
"limit": 600,
"remaining": 0,
"reset": 1794358860,
"window_seconds": 60
}id, type (failure_alert), occurred_at and failure_count.
Use limit and offset to paginate and follow next until it is null; count can be capped or estimated. A missing destination returns 404.
These alerts are distinct from delivery attempts. See webhook failure activity and destination analytics.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 wrong, revoked or expired; 403 means no key was sent, 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
Query Parameters
Response
List webhook destination activity.