COSS
Log drains

Retrieve a log drain

GET
/v1/log_drains/{id}

The drain without its signing secret, which is only returned when created.

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 log drain'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 log drain.

application/json
  1. response
object*"log_drain"
Value in"log_drain"
id*string
url*string
description*string|null
sources*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*boolean

A 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.

Value in"manual""failing"null
disabled_at*|
Formatdate-time
created_at*string
Formatdate-time
updated_at*string
Formatdate-time
import { Coss } from "coss";const coss = new Coss({  apiKey: process.env.COSS_API_KEY,  baseUrl: "https://api.coss.com",});const { data, error } = await coss.logDrains.get("drain_01k7c8m4q2f3e9v6t5r1n0p8yz");
{  "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"}