import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.webhooks.events.attempts.list({
eventId: 'msg_1srOrx2ZWZBpBUvZwXKQmoEYga2',
webhookId: '4dd369bc-aa82-4ff3-97de-514ae3000ee0',
});
curl -X GET 'https://api.resend.com/webhooks/4dd369bc-aa82-4ff3-97de-514ae3000ee0/events/msg_1srOrx2ZWZBpBUvZwXKQmoEYga2/attempts' \
-H 'Authorization: Bearer re_xxxxxxxxx'
{
"object": "list",
"has_more": false,
"data": [
{
"id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2",
"http_status_code": 200,
"response": "{\"ok\":true}",
"sent_at": "2026-08-22T15:33:12.000Z"
},
{
"id": "atmpt_2ZbUCwvGmIT4mLIN6d3Yz0Ainbd",
"http_status_code": 500,
"response": "Internal Server Error",
"sent_at": "2026-08-22T15:28:05.000Z"
}
]
}
List Attempts
Retrieve the delivery attempts for a single webhook event.
GET
/
webhooks
/
:webhook_id
/
events
/
:event_id
/
attempts
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.webhooks.events.attempts.list({
eventId: 'msg_1srOrx2ZWZBpBUvZwXKQmoEYga2',
webhookId: '4dd369bc-aa82-4ff3-97de-514ae3000ee0',
});
curl -X GET 'https://api.resend.com/webhooks/4dd369bc-aa82-4ff3-97de-514ae3000ee0/events/msg_1srOrx2ZWZBpBUvZwXKQmoEYga2/attempts' \
-H 'Authorization: Bearer re_xxxxxxxxx'
{
"object": "list",
"has_more": false,
"data": [
{
"id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2",
"http_status_code": 200,
"response": "{\"ok\":true}",
"sent_at": "2026-08-22T15:33:12.000Z"
},
{
"id": "atmpt_2ZbUCwvGmIT4mLIN6d3Yz0Ainbd",
"http_status_code": 500,
"response": "Internal Server Error",
"sent_at": "2026-08-22T15:28:05.000Z"
}
]
}
Webhook events and delivery attempts are currently in private beta and only
available to a limited number of users. APIs might change before it is
generally available. Get in touch if you’re
interested in testing this feature.Once you have access, upgrade your Resend SDK to use the methods on this
page:
npm install resend@6.19.0-preview-headless-dashboard.4
Path Parameters
string
required
The Webhook ID.
string
required
The Webhook Event ID.
Query Parameters
number
Number of attempts to return. Between
1 and 100. Defaults to 20.string
The attempt ID to fetch the next page after.The
before parameter is not supported for this endpoint.Response Fields
string
Always
list.boolean
Whether more attempts exist beyond this page.
array
import { Resend } from 'resend';
const resend = new Resend('re_xxxxxxxxx');
const { data, error } = await resend.webhooks.events.attempts.list({
eventId: 'msg_1srOrx2ZWZBpBUvZwXKQmoEYga2',
webhookId: '4dd369bc-aa82-4ff3-97de-514ae3000ee0',
});
curl -X GET 'https://api.resend.com/webhooks/4dd369bc-aa82-4ff3-97de-514ae3000ee0/events/msg_1srOrx2ZWZBpBUvZwXKQmoEYga2/attempts' \
-H 'Authorization: Bearer re_xxxxxxxxx'
{
"object": "list",
"has_more": false,
"data": [
{
"id": "atmpt_1srOrx2ZWZBpBUvZwXKQmoEYga2",
"http_status_code": 200,
"response": "{\"ok\":true}",
"sent_at": "2026-08-22T15:33:12.000Z"
},
{
"id": "atmpt_2ZbUCwvGmIT4mLIN6d3Yz0Ainbd",
"http_status_code": 500,
"response": "Internal Server Error",
"sent_at": "2026-08-22T15:28:05.000Z"
}
]
}
Was this page helpful?
⌘I