Événements
Consultez le flux d’événements derrière les webhooks : livraisons, rebonds, ouvertures et plus encore.
Lister les événements
Renvoie les événements de votre espace de travail, du plus récent au plus ancien. Chaque livraison de webhook est construite à partir de l’un de ces événements : vous pouvez donc utiliser cet endpoint pour récupérer après coup les événements que votre endpoint a manqués. Nécessite une clé API de portée full.
/eventsParamètres de requête
pageintegerNuméro de page, à partir de 1. Par défaut : 1. Les pages situées au-delà de 2 500 événements ((page - 1) × limit > 2500) renvoient 422.
limitintegerNombre d’événements par page, de 1 à 100. Par défaut : 100.
typestringType d’événement, ou liste de types séparés par des virgules, par exemple email.delivered,email.bounced. Consultez Types d’événements.
include_databooleanDéfinissez true pour inclure le payload data de chaque événement. Par défaut : false, qui ne renvoie que object, id, type et created_at.
matchstringall (par défaut) exige que tous les filtres correspondent. Avec or, il suffit qu’un filtre corresponde. Consultez Filtrage et tri.
orderstringClé de tri de cette liste. Consultez les clés de tri ci-dessous.
directionstringasc ou desc.
Filtres et tri
Les filtres de liste sont des paramètres de requête key.condition=value sur un seul niveau. Consultez Filtrage et tri pour match, order, direction et la liste des conditions par type.
Clés de filtre
| Clé | Type | Conditions | Remarques |
|---|---|---|---|
type | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
created_at | date | exact, before, after, empty, not_empty |
Clés de tri
Passez dans order l’une de ces clés et dans direction la valeur asc ou desc : type, created_at
Sans filtre created_at, la liste ne couvre que les 2 derniers jours. Pour remonter plus loin, ajoutez-en un, par exemple created_at.after=2026-09-01T00:00:00Z. Les événements plus anciens restent disponibles tant que la conservation des données de votre forfait les garde.
Réponse
Renvoie 200 OK avec les événements dans data, ainsi que next_page_url et previous_page_url (null aux deux extrémités). Les URL de page conservent type, limit et include_data.
Renvoie 422 avec code: "events_offset_too_large" lorsque la page est trop profonde. Réduisez la plage de dates ou les types plutôt que de paginer plus loin.
{
"data": [
{
"object": "event",
"id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.delivered",
"created_at": "2026-10-01T10:02:15.912000+00:00"
}
],
"next_page_url": "/v2/events?page=2&limit=100&type=email.delivered",
"previous_page_url": null
}{
"data": [
{
"object": "event",
"id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.delivered",
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "delivered",
"meta": { "order_id": "1042" },
"updated_at": "2026-10-01T10:02:14.307000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
},
"created_at": "2026-10-01T10:02:15.912000+00:00"
}
],
"next_page_url": "/v2/events?page=2&limit=100&type=email.delivered&include_data=true",
"previous_page_url": null
}{
"error": "Page is too deep. Narrow the type or date filter, or open an earlier page.",
"code": "events_offset_too_large"
}Récupérer un événement
Renvoie un événement avec son payload data complet. L’id est la même valeur que celle que les webhooks envoient dans event_id : vous pouvez donc retrouver n’importe quel événement reçu. Nécessite une clé API de portée full.
/events/:idParamètres de chemin
idstringObligatoireID de l’événement, par exemple evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a.
Réponse
Renvoie 200 OK avec l’événement : object (event), id, type, data et created_at. data.object a la même forme que dans le payload de webhook de ce type ; consultez la référence des événements webhook.
Renvoie 404 avec error: "Event not found" si l’ID n’existe pas dans votre espace de travail.
{
"object": "event",
"id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "email.delivered",
"data": {
"object": {
"id": "em_2xLc8Mm3Pq5Vn0Ra7Jt2Wd9Fb4e",
"object": "email",
"from": "hello@acme.com",
"to": "ada@example.com",
"subject": "Your order has shipped",
"status": "delivered",
"meta": { "order_id": "1042" },
"updated_at": "2026-10-01T10:02:14.307000+00:00",
"created_at": "2026-10-01T10:02:11.583000+00:00"
}
},
"created_at": "2026-10-01T10:02:15.912000+00:00"
}{
"error": "Event not found"
}