ReferenceNotifications
Make a new signing secret (platform admins, browser session only)
POST
Returns the new secret once. For graceHours (default 24, 0 to 72) every delivery carries a signature for the new secret and one for the old, so receivers can switch without dropping messages; 0 ends the old secret now. 409 not_signed for a slack destination, team_archived. Audited; the secret never is.
destinationId*stringFormat
uuidapplication/json- body
graceHours?integerHow long the old secret keeps signing too (0: stop now)
Format
int32Range
0 <= value <= 72Default
24Rotated; secret is shown only now
application/json- response
data*curl -X POST 'https://mcp.example.com/v1/admin/notification-destinations/497f6eca-6276-4993-bfeb-53cbbbba6f08/rotate-secret' \ -H 'Content-Type: application/json' \ -d '{}'{ "data": { "destination": { "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" }, "secret": "string" }}