Update the tracking default
Sets the environment default, which applies to emails without a rule for their category. Fields left out keep their value; if there is no default yet, it is created with them off. Settings belong to the API key's own environment: a coss_test_… key only ever changes sandbox settings. Emails keep the settings that applied when they were sent.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
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.
"2026-10-10"application/json- body
Fields left out keep their current value; a new rule starts with both off. A send's own tracking option still wins over the rule.
opens?booleanTrack opens.
clicks?booleanTrack clicks.
The environment default.
application/json- response
An environment's tracking default (category: null) or the rule for one category. Emails are fixed to the settings that applied when they were sent.
object*"tracking_rule""tracking_rule"id*stringcategory*|The category the rule applies to; null for the environment default.
opens*booleanWhether opens are tracked.
clicks*booleanWhether clicks are tracked.
created_at*stringdate-timeupdated_at*stringdate-timeimport { Coss } from "coss";const coss = new Coss({ apiKey: process.env.COSS_API_KEY, baseUrl: "https://api.coss.com",});const { data, error } = await coss.email.tracking.updateDefault({ opens: false, clicks: false,});{ "object": "tracking_rule", "id": "etr_01k7c8m4q2f3e9v6t5r1n0p8yz", "category": "password-reset", "opens": false, "clicks": false, "created_at": "2026-01-16T10:00:00.000Z", "updated_at": "2026-01-16T10:00:00.000Z"}Update a category's tracking rule PATCH
Sets the rule for emails sent with this `category`, which wins over the environment default, e.g. to track `marketing` but never `password-reset`. Fields left out keep their value; a new rule is created with them off. Settings belong to the API key's own environment: a `coss_test_…` key only ever changes sandbox settings. Emails keep the settings that applied when they were sent.
Create a webhook endpoint POST
Registers a URL that receives signed event notifications. Webhook endpoints belong to the API key's own environment: a `coss_test_…` key only ever sees sandbox endpoints, and a `coss_live_…` key only production ones. The response carries the signing secret, which is returned only here and when it is rolled: store it, and verify every delivery with it (`verifyWebhook` in the SDK).