Slack alerts: send a test message
The alert_settings.slack_channels.test operation: POST /api/v1/alert_settings/slack_channels/{id}/test in the REST API and the alert_settings_slack_channels_test tool in the MCP server.
/api/v1/alert_settings/slack_channels/{id}/testPosts a test message to one of the organization's Slack channels (in the mode of the request) and records
whether the webhook accepted it (lastTest). A refused or unreachable webhook is a result (ok: false
with what went wrong), not an error. A dry run posts nothing and returns a simulated result.
Needs org:write (owners and admins).
At a glance
- REST:
POST /api/v1/alert_settings/slack_channels/{id}/test - MCP tool:
alert_settings_slack_channels_test - Operation ID:
alert_settings.slack_channels.test - Scope: Organization
- Permission:
org:write - Risk tier:
write - Dry run: Supported (send
Ownrecord-Dry-Run: true) - Idempotency:
Idempotency-Keyrequired - Modes: Test and live
- Authentication: API key with the
org:writescope - Since: M7
Request
Path parameters
| Field | Type | Description |
|---|---|---|
id | sec_… ID |
Body
This operation takes no body.
Response
200 OK with a JSON object:
| Field | Type | Description |
|---|---|---|
id | sec_… ID | |
object | "slack_channel" | |
name | string | |
urlHint | string | |
minSeverity | one of high, critical | |
createdAt | date-time | |
createdBy | string | |
lastTest | object or null |
Examples
The webhook accepted the message
POST /api/v1/alert_settings/slack_channels/sec_01m4ttwd3veh9apbewxheq5xad/test
Authorization: Bearer or_test_…
Idempotency-Key: 3f1c9a52-7d0e-4b8f-9a61-0c2d5e8b7f14
Response (200):
{
"id": "sec_01m4ttwd3veh9apbewxheq5xad",
"object": "slack_channel",
"name": "#tax-alerts",
"urlHint": "hooks.slack.com …x7Qa",
"minSeverity": "high",
"createdAt": "2026-10-13T12:00:00.000Z",
"createdBy": "usr_01m4ttwd3veh9apbewxheq5xh6",
"lastTest": {
"ok": true,
"status": 200,
"message": "The webhook accepted the test message.",
"at": "2026-10-13T12:30:00.000Z"
}
}
Errors
| Code | HTTP status | When | What to do |
|---|---|---|---|
resource_not_found | 404 | The alert settings of this mode have no such channel. | Check the ID and that your credentials are scoped to the right organization, entity, brand and mode. |
upstream_timeout | 502 | The test took too long to run; try again. | Retry the request with the same Idempotency-Key after a short wait. |
version_conflict | 409 | The settings changed at the same moment; retry. | Fetch the object again and retry the change. |
permission_denied | 403 | You can't change this organization's settings. | Ask an organization owner or admin for a role or scope that allows this action. |
It can also return these common errors: validation_failed, api_version_unsupported, invalid_json, unsupported_media_type, authentication_required, api_key_invalid, idempotency_key_required, idempotency_key_reused, idempotency_in_progress, approval_required, approval_rejected, approval_expired, stale_approval, approval_policy_denied, rate_limited, internal_error.