Skip to content
POST /observability-destination

Requires `logging:manage` and the `logging_destinations` feature. For `datadog`, `config.site` and `secrets.api_key` are both required. Verify delivery with `POST /observability-destination/{id}/test` before relying on it.

Request Body

configobject

Non-secret provider settings.

log_typesstring[]

Which slices of the audit trail to forward: tool_call = MCP/tool executions, auth = membership, role, invite and credential events, admin = everything else.

Possible values:
tool_callauthadmin
sitestring

Datadog site.

Possible values:
us1us3us5euap1
tagsstring[]
is_activeboolean
namestring
secretsobject

Write-only credentials, stored encrypted and never returned. Sending secrets REPLACES the whole stored bag, so include every key the provider needs, not just the one you are changing.

api_keystring

Datadog API key — required for datadog.

shared_keystring

Sentinel shared key.

tokenstring

Splunk HEC token.

typestring

Immutable after creation.

Possible values:
datadogsplunk_hecsentinel

Response Body

configobject

Non-secret provider settings.

log_typesstring[]

Which slices of the audit trail to forward: tool_call = MCP/tool executions, auth = membership, role, invite and credential events, admin = everything else.

Possible values:
tool_callauthadmin
sitestring

Datadog site.

Possible values:
us1us3us5euap1
tagsstring[]
created_atstring · date-time
idstring

Logging destination id (ldst_…).

is_activeboolean

Paused destinations keep their config but forward nothing.

last_test_atstring,null · date-time
last_test_statusstring,null
Possible values:
okfailednull
namestring
typestring

Immutable after creation — to switch providers, create a new destination.

Possible values:
datadogsplunk_hecsentinel
updated_atstring · date-time
curl -X POST 'https://api.elaichi.ai/observability-destination' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"type":"datadog","name":"your_name","is_active":true,"config":{},"secrets":{}}'
const body = {
  "type": "datadog",
  "name": "your_name",
  "is_active": true,
  "config": {},
  "secrets": {}
};

const response = await fetch('https://api.elaichi.ai/observability-destination', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + process.env.ELAICHI_API_TOKEN,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
});

const data = await response.json();
console.log(data);
import os
import requests

url = "https://api.elaichi.ai/observability-destination"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "type": "datadog",
    "name": "your_name",
    "is_active": True,
    "config": {},
    "secrets": {}
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())