Skip to content

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.

POST/api/v1/alert_settings/slack_channels/{id}/test

Posts 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-Key required
  • Modes: Test and live
  • Authentication: API key with the org:write scope
  • Since: M7

Request

Path parameters

FieldTypeDescription
idsec_… ID

Body

This operation takes no body.

Response

200 OK with a JSON object:

FieldTypeDescription
idsec_… ID
object"slack_channel"
namestring
urlHintstring
minSeverityone of high, critical
createdAtdate-time
createdBystring
lastTestobject or null

Examples

The webhook accepted the message

HTTP
POST /api/v1/alert_settings/slack_channels/sec_01m4ttwd3veh9apbewxheq5xad/test
Authorization: Bearer or_test_…
Idempotency-Key: 3f1c9a52-7d0e-4b8f-9a61-0c2d5e8b7f14

Response (200):

JSON
{
  "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

CodeHTTP statusWhenWhat to do
resource_not_found404The 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_timeout502The test took too long to run; try again.Retry the request with the same Idempotency-Key after a short wait.
version_conflict409The settings changed at the same moment; retry.Fetch the object again and retry the change.
permission_denied403You 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.