---
title: "List an event destination's events"
method: GET
path: "/event-destinations/{event_destination}/events"
tags: ["Events"]
---

# List an event destination's events

`GET /event-destinations/{event_destination}/events`

## Request

- Base URL: `https://api.ekho.com`
- URL: `https://api.ekho.com/event-destinations/{event_destination}/events`
- Auth: HTTP bearer

Returns a cursor-paginated list of the events fanned out to this destination, newest first, with the destination's per-event delivery outcome. Filter by `delivery_status` and fire time (`created[gte]` / `created[lte]`), and expand `attempts` to include each delivery try. Events remain inspectable after the destination is deleted.

## Path parameters

- `event_destination` string, required

## Query parameters

- `limit` integer: Page size, 1 to 100.
- `starting_after` string: Return the page after this resource id (newest first).
- `delivery_status` 'pending' | 'delivered' | 'failed': Filter to a single per-destination delivery status.
- `created[gte]` integer: Only events fired at or after this epoch ms.
- `created[lte]` integer: Only events fired at or before this epoch ms.
- `expand[]` string[]: Repeatable. Expand `attempts` to include each delivery try.

## Response `200`

A page of events for the destination.

- object
  - `data` WebhookEvent[], required
    - `id` string, required
    - `type` 'preorder.placed' | 'preorder.updated' | 'lead.created' | 'lead.updated' | 'order.vehicle.placed' | 'order.vehicle.updated' | 'inventory.created' | 'inventory.updated', required
    - `created` integer, required: Epoch ms the event fired.
    - `delivery_status` 'pending' | 'delivered' | 'failed', required: This destination's outcome: pending, delivered, or failed.
    - `attempt_count` integer, required
    - `last_attempted_at` integer, nullable, required
    - `last_response_status_code` integer, nullable, required
    - `attempts` WebhookEventAttempt[]
      - `id` string, required
      - `event_id` string, required
      - `status` 'success' | 'failed', required
      - `response_status_code` integer, nullable, required
      - `error_message` string, nullable, required
      - `attempt_number` integer, required
      - `trigger_type` 'scheduled' | 'manual', required
      - `duration_ms` integer, required
      - `created_at` integer, required
  - `has_more` boolean, required: True when another page follows the returned one.
  - `next_cursor` string, nullable, required: Pass as `starting_after` to fetch the next page; null when `has_more` is false.

## Other responses

- `400`: The request was malformed or failed validation. `errors` itemizes every field at fault, so one response names them all; the fields in the example stand in for this request's own.
- `401`: Authentication is missing or invalid.
- `403`: The token lacks `webhooks:read`.
- `404`: No event destination matches that id.
- `429`: The rate limit has been exceeded.
- `500`: An unexpected error occurred.

## Changes

- **2026-09-18** `78c545d96a34`: 18 warning
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `400`
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `401`
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `403`
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `404`
  - …14 more

[Operation history](https://skmtc.dev/ekho/apis/ekho-api/changes/event-destinations/:event_destination/events/get.md)

---

[API](https://skmtc.dev/ekho/apis/ekho-api.md) · [All operations](https://skmtc.dev/ekho/apis/ekho-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ekho/apis/ekho-api/revisions/efe485119dd7?raw)
