Api referenceWebhooks
List Webhooks
Retrieve all webhooks for your account
Authentication
Account API Key required via Authorization: Bearer {api_key} header.
Query Parameters
inbox_idstringqueryFilter webhooks by inbox UUID. Omit to see all webhooks.
statusstringqueryFilter by webhook status: active, unhealthy, or disabled
curl -X GET 'https://api.daimon.email/v1/webhooks?status=active' \
-H "Authorization: Bearer dm_free_7d8a9b0c1d2e3f4g5h6i7j8k9l0m1n2o"import { DaimonClient } from 'daimon-email';
const client = new DaimonClient({
apiKey: 'dm_free_7d8a9b0c1d2e3f4g5h6i7j8k9l0m1n2o'
});
// Get all webhooks
const allWebhooks = await client.webhooks.list();
// Filter by inbox
const inboxWebhooks = await client.webhooks.list({
inboxId: 'inb_abc123'
});
// Filter by status
const activeWebhooks = await client.webhooks.list({
status: 'active'
});
console.log(`Total webhooks: ${allWebhooks.length}`);from daimon_email import DaimonClient
client = DaimonClient(api_key='dm_free_7d8a9b0c1d2e3f4g5h6i7j8k9l0m1n2o')
# Get all webhooks
all_webhooks = client.webhooks.list()
# Filter by inbox
inbox_webhooks = client.webhooks.list(inbox_id='inb_abc123')
# Filter by status
active_webhooks = client.webhooks.list(status='active')
print(f"Total webhooks: {len(all_webhooks)}")Response
{
"result": [
{
"id": "wh_xyz789",
"account_id": "acc_def456",
"inbox_id": "inb_abc123",
"url": "https://your-agent.com/webhook",
"events": ["message.received"],
"status": "active",
"last_delivered_at": "2024-03-11T15:30:00Z",
"failure_count": 0,
"created_at": "2024-03-11T14:23:45Z",
"updated_at": "2024-03-11T14:23:45Z"
},
{
"id": "wh_abc456",
"account_id": "acc_def456",
"inbox_id": null,
"url": "https://backup.your-agent.com/webhook",
"events": ["message.received", "message.bounced"],
"status": "active",
"last_delivered_at": "2024-03-11T15:29:00Z",
"failure_count": 0,
"created_at": "2024-03-10T09:15:22Z",
"updated_at": "2024-03-10T09:15:22Z"
}
],
"next_steps": [
"Use GET /v1/webhooks/{id} to see detailed delivery history",
"Check status field - unhealthy webhooks need attention",
"Use PATCH /v1/webhooks/{id} to update URLs or disable webhooks"
]
}Response Fields
resultarrayArray of webhook objects. Each webhook contains:
id- Unique webhook identifieraccount_id- Owning accountinbox_id- Scoped inbox (null for account-wide)url- HTTPS delivery endpointevents- Subscribed event typesstatus- Health status (active/unhealthy/disabled)last_delivered_at- Last successful delivery timestampfailure_count- Consecutive failurescreated_at- Creation timestampupdated_at- Last modification timestamp
Info
Note: The secret field is never returned in list responses. Secrets are only shown on webhook creation.
Webhook Status
- active: Delivering events successfully
- unhealthy: 5+ consecutive delivery failures (still attempting delivery)
- disabled: Manually disabled, no delivery attempts
Warning
Check for unhealthy webhooks regularly. After 10 consecutive failures, webhooks are automatically disabled.