List delivery attempts
GET
/v1/webhooks/{webhook_id}/attemptsconst attempts = await bird.webhooks.attempts(
"whk_01krdgeqcxet5s7t44vh8rt9mg",
);
for (const attempt of attempts.data) {
console.log(attempt.status, attempt.response_status_code);
}attempts = client.webhooks.attempts("whk_01krdgeqcxet5s7t44vh8rt9mg")
for attempt in attempts.data:
print(attempt.status, attempt.response_status_code)attempts, err := client.Webhooks.Attempts(context.Background(), "whk_123", bird.WebhooksAttemptsParams{})
if err != nil {
log.Fatal(err)
}
for _, attempt := range attempts.Data {
fmt.Println(attempt.Status)
}$attempts = $bird->webhooks->attempts('whk_01krdgeqcxet5s7t44vh8rt9mg');
foreach ($attempts->getData() ?? [] as $attempt) {
echo $attempt->getStatus(), PHP_EOL;
}bird webhooks attempts <webhook-id>curl -X GET "https://us1.platform.bird.com/v1/webhooks/{webhook_id}/attempts" \
-H "Authorization: Bearer $TOKEN" \
--url-query "limit=50"Response200
{
"data": [
{
"id": "msgatt_3FdaB1NkOmM6m8AxhgEYTJgqHU3",
"event_id": "whe_01krdgeqcxet5s7t44vh8rt9mg",
"event_type": "amb.accepted",
"status": "delivered",
"url": "https://example.com/webhooks",
"failure_reason": "The endpoint's connection changed after this delivery was queued.",
"response_status_code": 200,
"response_body": "{\"ok\":true}",
"response_duration_ms": 87,
"attempted_at": "2026-05-22T11:50:38.080Z"
}
]
}
Returns the endpoint's recent delivery attempts, newest first. Each entry is one HTTP request, so a retried event appears once per try; use it to see what failed and why before requesting redelivery with Replay failed deliveries.
Bound the window with the before/after timestamps and cap the page with limit.
To page further back without a cursor, pass the oldest attempted_at
you received as before.
Parameters
webhook_idstringID of the webhook endpoint (whk_ prefix), as returned when it was created.
Query Parameters
limitintegerMaximum number of attempts to return. Defaults to 50, capped at 100.
beforestringOnly return attempts strictly before this timestamp.
afterstringOnly return attempts strictly after this timestamp.
Response Payload
Related resources
Continue with the documentation, guides and examples for this topic.