COSS
Emails

List an email's delivery events

GET
/v1/emails/{id}/events

Every delivery event of the email, oldest first: email.scheduled, email.rescheduled, email.canceled, email.sent and email.failed for the whole email, and email.delivered, email.delivery_delayed, email.bounced, email.complained and email.suppressed (skipped because of the suppression list) per recipient, plus email.opened and email.clicked when tracking is on (attributed to a recipient only when the email had a single one).

Authorization

bearerAuth
headerAuthorizationBearer <token>

A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.

Path Parameters

id*string

The email's id.

Header Parameters

Coss-Version?"2026-10-10"

The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.

Value in"2026-10-10"

Response Body

The email's events.

application/json
  1. response
object*"list"
Value in"list"
data*array<>
has_more*boolean
import { Coss } from "coss";const coss = new Coss({  apiKey: process.env.COSS_API_KEY,  baseUrl: "https://api.coss.com",});const { data, error } = await coss.email.listEvents("email_01k7c8m4q2f3e9v6t5r1n0p8yz");
{  "object": "list",  "data": [    {      "object": "email_event",      "id": "evt_01k7c8m4r0c2b8w9y3d5f6g7h8",      "email_id": "email_01k7c8m4q2f3e9v6t5r1n0p8yz",      "type": "email.sent",      "recipient": null,      "occurred_at": "2026-10-10T12:00:01.000Z",      "data": {}    },    {      "object": "email_event",      "id": "evt_01k7c8m4q2f3e9v6t5r1n0p8yz",      "email_id": "email_01k7c8m4q2f3e9v6t5r1n0p8yz",      "type": "email.delivered",      "recipient": "user@example.com",      "occurred_at": "2026-10-10T12:00:02.000Z",      "data": {        "delivery": {          "smtp_response": "250 2.0.0 OK"        }      }    }  ],  "has_more": false}