Query your event log to see all API actions across do.dev services
The Events API lets you browse and search your organization's event log. Events are retained for 30 days.
/v1/eventsList events for your organization
servicestringtypestringlimitnumbercursornumbercurl "https://api.do.dev/v1/events?limit=10" \
-H "Authorization: Bearer YOUR_API_KEY"{
"events": [
{
"eventId": "evt_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "send.email.sent",
"service": "send",
"data": {
"messageId": "msg_abc123",
"from": "hello@example.com",
"to": ["user@example.com"],
"subject": "Welcome!"
},
"livemode": true,
"createdAt": 1700000000000
},
{
"eventId": "evt_b2c3d4e5-f6a7-8901-bcde-f12345678901",
"type": "telco.lookup.completed",
"service": "telco",
"data": {
"tn": "2125551234",
"npa": "212",
"nxx": "555",
"hasCarrier": true,
"hasInventory": false
},
"livemode": true,
"createdAt": 1699999000000
}
],
"nextCursor": 1699999000000,
"hasMore": true
}Events are returned newest-first. To page through results, pass the nextCursor value from the response as the cursor parameter in the next request:
# First page
curl "https://api.do.dev/v1/events?limit=50" \
-H "Authorization: Bearer YOUR_API_KEY"
# Next page (using nextCursor from previous response)
curl "https://api.do.dev/v1/events?limit=50&cursor=1699999000000" \
-H "Authorization: Bearer YOUR_API_KEY"When hasMore is false, you've reached the end of the results.
# Only send events
curl "https://api.do.dev/v1/events?service=send" \
-H "Authorization: Bearer YOUR_API_KEY"
# Only telco events
curl "https://api.do.dev/v1/events?service=telco" \
-H "Authorization: Bearer YOUR_API_KEY"# Only email bounce events
curl "https://api.do.dev/v1/events?type=send.email.bounced" \
-H "Authorization: Bearer YOUR_API_KEY"/v1/events/{id}Get a single event with delivery details
idstringrequiredcurl "https://api.do.dev/v1/events/evt_a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_KEY"{
"eventId": "evt_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"type": "send.email.sent",
"service": "send",
"data": {
"messageId": "msg_abc123",
"from": "hello@example.com",
"to": ["user@example.com"],
"subject": "Welcome!"
},
"livemode": true,
"createdAt": 1700000000000,
"deliveries": [
{
"url": "https://example.com/webhooks/dodev",
"status": "success",
"httpStatus": 200,
"responseTimeMs": 145,
"attemptNumber": 1,
"maxAttempts": 5,
"createdAt": 1700000001000
}
]
}The deliveries array shows every webhook delivery attempt for this event, including retries.
Events and their delivery records are retained for 30 days. After 30 days, events are automatically deleted. If you need longer retention, export events to your own storage using the Events API or webhook deliveries.