Slack alerts: remove a channel
The alert_settings.slack_channels.delete operation: DELETE /api/v1/alert_settings/slack_channels/{id} in the REST API and the alert_settings_slack_channels_delete tool in the MCP server.
/api/v1/alert_settings/slack_channels/{id}Removes a Slack channel from the organization's alerts in the mode of the request and deletes its stored webhook URL and signing secret. Alerts already posted stay in Slack. Returns the alert settings.
Needs org:write (owners and admins).
At a glance
- REST:
DELETE /api/v1/alert_settings/slack_channels/{id} - MCP tool:
alert_settings_slack_channels_delete - Operation ID:
alert_settings.slack_channels.delete - Scope: Organization
- Permission:
org:write - Risk tier:
write - Dry run: Supported (send
Ownrecord-Dry-Run: true) - Idempotency:
Idempotency-Keyoptional - 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 |
|---|---|---|
object | "alert_settings" | |
livemode | boolean | |
email | object | |
email.high | one of immediate, off | |
slackChannels | array of object | |
slackChannels[].id | sec_… ID | |
slackChannels[].object | "slack_channel" | |
slackChannels[].name | string | |
slackChannels[].urlHint | string | |
slackChannels[].minSeverity | one of high, critical | |
slackChannels[].createdAt | date-time | |
slackChannels[].createdBy | string | |
slackChannels[].lastTest | object or null | |
updatedAt | date-time or null | |
version | integer (at least 0) |
Examples
Remove the only channel
DELETE /api/v1/alert_settings/slack_channels/sec_01m4ttwd3veh9apbewxheq5xad
Authorization: Bearer or_test_…
Response (200):
{
"object": "alert_settings",
"livemode": true,
"email": {
"high": "immediate"
},
"slackChannels": [],
"updatedAt": "2026-10-13T12:00:00.000Z",
"version": 3
}
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. |
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_reused, idempotency_in_progress, approval_required, approval_rejected, approval_expired, stale_approval, approval_policy_denied, rate_limited, internal_error.