Skip to main content
GET
curl

Destination health

health_status summarizes how a destination has been answering its deliveries. A failed attempt is one the destination answered with HTTP 400 or above, or did not answer at all (timeout, refused connection or blocked address). Retries do not add to failing_streak, and any successful attempt, including a retry or a resend, ends the streak. health_status is independent of enabled. The delivery metrics and daily_points cover the last 30 days (metrics_window_days). daily_points always has 30 entries, one per UTC day, oldest first.

Authorizations

x-api-key
string
header
required

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.

Response

List of webhook destinations (unpaginated, oldest first).

uuid
string<uuid>

Stable destination identifier; use as {destination_uuid} for update/delete.

label
string

Human-readable name shown in the Console.

url
string<uri>

Destination URL that receives POST requests with the webhook payload.

enabled
boolean

When false, Didit silently skips delivery to this destination.

webhook_version
enum<string>

Payload schema version sent to this destination. v3 is the current/recommended format.

Available options:
v1,
v2,
v3
subscribed_events
enum<string>[]

Event filter for this webhook destination. Didit delivers only webhooks whose event type exactly matches one of these values — there is no wildcard subscription. When sent, the list must contain at least one valid event (an explicit [] is rejected with 400); a destination whose list is empty (field omitted at create) receives nothing. On update the list is replaced wholesale, never merged.

Minimum array length: 1

Supported webhook event name. Use these exact strings in subscribed_events; unsupported values are rejected.

Available options:
status.updated,
data.updated,
user.status.updated,
user.data.updated,
business.status.updated,
business.data.updated,
activity.created,
transaction.created,
transaction.status.updated,
travel_rule.status.updated,
workflow.compliance_changed,
transaction_rule_suggestions.created,
auth.signup,
auth.login,
auth.login_failed,
auth.password_reset_requested,
auth.password_reset_completed,
auth.mfa_changed,
auth.new_device,
auth.account_locked,
investigator.report.ready,
investigator.decision.automated,
investigator.decision.overridden,
investigator.decision.contested,
investigator.question.raised,
investigator.automation.paused,
investigator.rfi.answered,
investigator.rfi.overdue,
investigator.drift.detected,
investigator.sla.breached,
investigator.qa.failed,
investigator.external.report.ready
Example:
subscribed_events_count
integer

Cached length of subscribed_events, useful for UI rendering.

deliveries_count
integer

Delivery attempts (retries included) made to this destination in the last 30 days.

failed_deliveries_count
integer

Delivery attempts in the last 30 days that the destination answered with HTTP 400 or above, or did not answer (timeout, refused connection or blocked address).

average_response_time_ms
integer | null

Average response time in milliseconds over the last 30 days, rounded to an integer. null when there were no deliveries in that window.

error_rate_percentage
integer

round(failed_deliveries_count / deliveries_count * 100) over the last 30 days; 0 when there are no deliveries.

last_delivery_at
string<date-time> | null

Timestamp of the most recent delivery attempt (success or failure). null if never delivered.

metrics_window_days
integer

Length in days of the window that deliveries_count, failed_deliveries_count, average_response_time_ms, error_rate_percentage and daily_points cover. Always 30.

health_status
enum<string>

Delivery health. failing: 3 or more consecutive events failed their first delivery attempt since the destination last answered successfully (see failing_streak). degraded: not failing, but a delivery attempt failed in the last 24 hours and no later attempt has delivered that event; a retry or resend that delivers it clears this. healthy: neither. Independent of enabled. A failed attempt is one answered with HTTP 400 or above, or not answered at all.

Available options:
healthy,
degraded,
failing
failing_streak
integer

How many consecutive events failed their first delivery attempt since the destination last answered successfully, within the last 30 days. Retries are not counted, and any successful attempt, including a retry or a resend, ends the streak. 0 when no event has failed since the last success.

failing_since
string<date-time> | null

When the first failed attempt of the current failing_streak was made. null when failing_streak is 0.

last_success_at
string<date-time> | null

When the destination last answered a delivery with an HTTP status under 400, within the last 30 days. null if it has not in that window.

environment
enum<string>

Environment of the application that owns the destination.

Available options:
live,
sandbox
daily_points
object[]

One entry per UTC day of the last 30 days, oldest first, including days with no deliveries. Counts every attempt, retries included.

secret_last4
string

Last four characters of the destination's current signing secret, so you can tell secrets apart. Not enough to verify a signature.

created_by_email
string | null

Email of the Business Console member who created the destination. null for a destination created with an API key.

created_by_name
string | null

Name of the Business Console member who created the destination. null for a destination created with an API key.

created_at
string<date-time>
updated_at
string<date-time>
Last modified on November 1, 2026