Update a log drain
Changes the URL, description, sources or enabled flag. Omitted fields keep their current value, and the signing secret stays the same. Disabling a drain drops the lines still waiting for it, and nothing is kept for it while it is disabled; enabling it again (also after COSS disabled it for failing) sends lines logged from then on.
bearerAuthAuthorizationBearer <token>A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.
id*stringThe log drain's id.
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
url?stringAn https:// URL COSS posts batches of log lines to.
1 <= length <= 2048description?|A note for your own reference. null clears it.
length <= 256sources?array<>What the drain forwards: api (requests made with the environment's API keys), email (email events), webhook (webhook delivery attempts) and audit (changes to the environment, from the organization's audit log). An empty array means every source, including ones added later.
items <= 4enabled?booleanThe updated drain.
application/json- response
object*"log_drain""log_drain"id*stringurl*stringdescription*string|nullsources*array<>What the drain forwards: api (requests made with the environment's API keys), email (email events), webhook (webhook delivery attempts) and audit (changes to the environment, from the organization's audit log). An empty array means every source, including ones added later.
enabled*booleanA disabled drain receives nothing, and lines logged while it is disabled are not kept for it.
disabled_reason*|manual: someone disabled it. failing: a batch failed every attempt, so COSS disabled it. null while enabled.
"manual""failing"nulldisabled_at*|date-timecreated_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.logDrains.update("drain_01k7c8m4q2f3e9v6t5r1n0p8yz", { enabled: false,});{ "object": "log_drain", "id": "drain_01k7c8m4q2f3e9v6t5r1n0p8yz", "url": "https://logs.example.com/coss", "description": "Production logs", "sources": [ "api", "email" ], "enabled": true, "disabled_reason": null, "disabled_at": null, "created_at": "2026-01-15T09:30:00.000Z", "updated_at": "2026-01-15T09:30:00.000Z"}