Open MCP Portaldocs
ReferenceNotifications

Change a destination (team owners and admins, browser session only)

PATCH
/v1/teams/{team}/notification-destinations/{destinationId}

Format can't change (create another destination). Sending url replaces the sealed URL (checked as on creation); leaving it out keeps it. Turning enabled back on after an automatic stop (disabledReason failures) clears the failure count. 409 name_taken, team_archived. 412 and 428 for If-Match. 422 as on creation.

Path Parameters

team*string

Team slug or ID

destinationId*string
Formatuuid

Header Parameters

If-Match*string

The resource's revision, as returned in ETag (for example "3"). Missing returns 428; stale returns 412.

Request Body

application/json
  1. body
name?string
Length1 <= length <= 100
url?string
Lengthlength <= 1000
events?array<>
Items1 <= items <= 8
teamEvents?boolean
enabled?boolean

Response Body

Updated

application/json
  1. response
data*

A webhook destination. The URL is sealed with ENCRYPTION_KEY and never returned (a Slack incoming-webhook URL is itself a credential): urlDisplay shows scheme and host only. Format json is signed; the signing secret is shown once on creation and on rotation. Format slack is unsigned ({"text": ...}).

curl -X PATCH 'https://mcp.example.com/v1/teams/string/notification-destinations/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'If-Match: string' \  -H 'Content-Type: application/json' \  -d '{}'
{  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "scope": "team",    "team": {      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",      "slug": "string",      "name": "string"    },    "name": "string",    "format": "json",    "urlDisplay": "https://hooks.slack.com/...",    "events": [      "server.unhealthy"    ],    "teamEvents": true,    "enabled": true,    "disabledReason": "failures",    "hasSecret": true,    "secretHint": "string",    "secretRotatedAt": "2019-08-24T14:15:22Z",    "previousSecretExpiresAt": "2019-08-24T14:15:22Z",    "health": {      "state": "unknown",      "consecutiveFailures": 0,      "lastSuccessAt": "2019-08-24T14:15:22Z",      "lastFailureAt": "2019-08-24T14:15:22Z",      "lastErrorClass": "not_allowed"    },    "revision": 0,    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "createdByName": "string"  }}