Skip to content
Docs

Read the event stream behind webhooks: deliveries, bounces, opens and more.

Base URLhttps://api.emailit.com/v2AuthenticationErrorsRate limits

List events

Returns the events in your workspace, newest first. Every webhook delivery is built from one of these events, so you can use this endpoint to backfill events your endpoint missed. Requires an API key with full scope.

GET/events

Query parameters

pageinteger

Page number, starting at 1. Default 1. Pages deeper than 2,500 events ((page - 1) × limit > 2500) return 422.

limitinteger

Events per page, from 1 to 100. Default 100.

typestring

Event type, or a comma-separated list of types, for example email.delivered,email.bounced. See Event types.

include_databoolean

Set to true to include each event’s data payload. Default false, which returns only object, id, type and created_at.

matchstring

all (default) requires every filter. or matches any filter. See Filtering.

orderstring

Sort key for this list. See the sort keys below.

directionstring

asc or desc.

Filters and sort

List filters are one layer of key.condition=value query parameters. See Filtering for match, order, direction and the condition list per type.

Filter keys

KeyTypeConditionsNotes
typestringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
created_atdateexact, before, after, empty, not_empty

Sort keys

Pass order as one of these keys and direction as asc or desc: type, created_at

Without a created_at filter, the list only covers the last 2 days. To look further back, add one, for example created_at.after=2026-09-01T00:00:00Z. Older events are available for as long as your plan’s data retention keeps them.

Returns

Returns 200 OK with the events in data, plus next_page_url and previous_page_url (null at either end). The page URLs keep type, limit and include_data.

Returns 422 with code: "events_offset_too_large" when the page is too deep. Narrow the date range or the types instead of paging further.

GET/events
Terminal
curl -X GET "https://api.emailit.com/v2/events?type=email.delivered" \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json"
JSON
{
  "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
}

Retrieve an event

Returns one event with its full data payload. The id is the same value webhooks send as event_id, so you can look up any event you received. Requires an API key with full scope.

GET/events/:id

Path parameters

idstringRequired

Event ID, for example evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a.

Returns

Returns 200 OK with the event: object (event), id, type, data and created_at. data.object has the same shape as in the webhook payload for that type; see the webhook event reference.

Returns 404 with error: "Event not found" if the ID doesn’t exist in your workspace.

GET/events/{id}
Terminal
curl https://api.emailit.com/v2/events/evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "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"
}

Was this page helpful?

Thanks for the feedback.

Thanks, we read every message.