Skip to content
POST /notification-destination/{id}/test

Really delivers one synthetic event through the live Slack/email path and reports the outcome, updating `last_test_at`/`last_test_status`. Works on paused destinations. Optional `config`/`webhook_url` in the body are used for this call only — nothing is saved — so edits can be verified before being written. Requires `notification:manage`.

Path Parameters

idstring
required·

Notification destination id (onfd_…).

Request Body

configobject

Non-secret settings. to/cc/bcc apply to email; ignored for slack.

bccstring[]
ccstring[]
subject_prefixstring
tostring[]
webhook_urlstring

Response Body

errorstring,null

Failure detail; null when ok is true.

okboolean
curl -X POST 'https://api.elaichi.ai/notification-destination/<id>/test' \
  -H 'Authorization: Bearer $ELAICHI_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"config":{},"webhook_url":"your_webhook_url"}'
const body = {
  "config": {},
  "webhook_url": "your_webhook_url"
};

const response = await fetch('https://api.elaichi.ai/notification-destination/<id>/test', {
  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/notification-destination/<id>/test"
headers = {
    "Authorization": f"Bearer {os.environ['ELAICHI_API_TOKEN']}",
    "Content-Type": "application/json",
}
payload = {
    "config": {},
    "webhook_url": "your_webhook_url"
}

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