문서로 건너뛰기
API

웹훅 이벤트와 통계

엔드포인트가 구독할 수 있는 이벤트와 전송이 어떻게 되었는지.

GET/webhooks/events

2개 호출을 워크스페이스에 실제로 실행합니다.

이벤트

GET /webhooks/events는 엔드포인트가 eventTypes에 지정할 수 있는 모든 이벤트를 각각 언제 발생하는지 설명하는 문장과 함께 나열하고, 엔드포인트에 적용되는 한도도 알려 줍니다. 워크스페이스에 대해서는 요금제가 정하는 maxEndpoints, 허용 목록 하나에 대해서는 maxAddresses와 maxDomains입니다. webhooks:read가 필요합니다.

GET /webhooks/events
{  "object": "webhook_catalogue",  "events": [    { "id": "email.sent", "label": "A message left OpenEmail." },    { "id": "email.bounced", "label": "A message bounced." }  ],  "maxEndpoints": 10,  "maxAddresses": 50,  "maxDomains": 20}

이벤트를 하나도 지정하지 않은 엔드포인트는 email.replied를 제외한 모든 이메일 이벤트를 받으므로, email.replied와 다른 계열은 이름으로 요청한 엔드포인트에만 전달됩니다.

통계

GET /webhooks/stats는 기간 안에 전송이 어떻게 되었는지 읽으며, 웹훅 페이지의 분석 탭에 해당합니다. 시도, 전송됨과 실패, 수신자가 응답하는 데 걸린 시간의 중앙값, 구간별 시계열, 보낸 이벤트, 받은 응답 코드를 담습니다. webhooks:read가 필요합니다. endpointIds는 일부 엔드포인트로 좁히고, since와 until은 기간을 정하며 기본값은 30일이고, grain과 offsetMinutes는 시계열의 모양을 정합니다. 이벤트를 한 번 시도할 때마다 시도 1회로 셉니다.

GET /webhooks/stats?grain=day
{  "object": "webhook_stats",  "since": "2026-09-02T00:00:00.000Z",  "until": "2026-10-02T00:00:00.000Z",  "grain": "day",  "endpointIds": [],  "totals": { "attempts": 1280, "delivered": 1266, "failed": 14, "medianDurationMs": 212 },  "buckets": [{ "bucket": "2026-09-28", "delivered": 44, "failed": 1 }],  "events": [{ "id": "email.delivered", "count": 702 }],  "codes": [{ "id": "200", "count": 1266 }, { "id": "503", "count": 14 }]}

레퍼런스