Skip to Content

List webhook events

GET/merchants/{merchantId}/webhook-events

List 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

HeaderDescriptionRequired
AuthorizationBearer token with your secret API keyyes

Path Parameters

NameTypeRequiredDescription
merchantIdstringyes

Query Parameters

NameTypeRequiredDescription
limitinteger
starting_afterstring
ending_beforestring
subscription_idstring
typestring
deliveredenum: 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

StatusDescription
200A paginated list of webhook events.
400Validation error
401Missing or invalid authentication

Response body

FieldTypeRequiredDescription
objectenum: listyes
dataobject[]yes
has_morebooleanyes

data

FieldTypeRequiredDescription
idstringyes
objectenum: eventyes
typestringyes
deliveredbooleanyes
attemptsnumberyes
last_errorstring | nullyes
subscription_idstring | nullyes
subscription_checkout_idstring | nullyes
checkout_idstring | nullyes
payment_idstring | nullyes
payloadobject | null
created_atstringyes
delivered_atstring | nullyes

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"
  }
}

Start building

XO

Request Demo

Schedule a call with our team

Select a product
Arrow right

Start building
Grateful

Contact Us

We're here to help