List webhook events
GET/merchants/{merchantId}/webhook-eventsList webhook delivery records for the merchant, most recent first. Each record includes the event type, delivery status, attempt count, and the payload sent to your endpoint. Filter by subscription, type, and delivery status.
Headers
| Header | Description | Required |
|---|---|---|
| Authorization | Bearer token with your secret API key | yes |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| merchantId | string | yes |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | integer | — | |
| starting_after | string | — | |
| ending_before | string | — | |
| subscription_id | string | — | |
| type | string | — | |
| delivered | enum: true | false | — |
Example Request
Request
const response = await fetch('https://checkout-api.exodus-int.com/merchants/<merchantId>/webhook-events?limit=50&starting_after=<starting_after>&ending_before=<ending_before>&subscription_id=<subscription_id>&type=<type>&delivered=true', {
method: 'GET',
headers: {
Authorization: 'Bearer sk_live_xxxxxxxxxxxxxxxx',
},
});Responses
| Status | Description |
|---|---|
| 200 | A paginated list of webhook events. |
| 400 | Validation error |
| 401 | Missing or invalid authentication |
Response body
| Field | Type | Required | Description |
|---|---|---|---|
| object | enum: list | yes | |
| data | object[] | yes | |
| has_more | boolean | yes |
data
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | yes | |
| object | enum: event | yes | |
| type | string | yes | |
| delivered | boolean | yes | |
| attempts | number | yes | |
| last_error | string | null | yes | |
| subscription_id | string | null | yes | |
| subscription_checkout_id | string | null | yes | |
| checkout_id | string | null | yes | |
| payment_id | string | null | yes | |
| payload | object | null | — | |
| created_at | string | yes | |
| delivered_at | string | null | yes |
Example Response
{
"object": "list",
"data": [
{
"id": "evt_1234567890abcdef",
"object": "event",
"type": "payment.settled",
"delivered": true,
"attempts": 1,
"last_error": null,
"subscription_id": null,
"subscription_checkout_id": null,
"checkout_id": "chk_1234567890abcdef",
"payment_id": "tz4a98xxat96iws9zmbrgj3a",
"payload": {
"id": "evt_1234567890abcdef",
"object": "event",
"type": "payment.settled",
"created_at": "2024-01-15T12:30:00Z",
"data": {
"object": {
"id": "tz4a98xxat96iws9zmbrgj3a",
"object": "payment",
"status": "settled"
}
}
},
"created_at": "2024-01-15T12:30:00Z",
"delivered_at": "2024-01-15T12:30:01Z"
}
],
"has_more": false
}Error Response
Error (e.g. 400)
{
"error": {
"type": "validation_error",
"message": "amount must be a positive number",
"param": "amount"
}
}