# Update Slack channel

Partially update a Slack channel subscription (components, paused, locked).

Source: https://statusdashboard.com/docs/api/integrations/slack/channels/update

`PATCH /app/integrations/slack/channels`

Updates an existing Slack channel identified by `dashboardId` + `urlHash` (contact key). Provide at least one of `componentIds`, `managementEmail`, `paused`, or `locked`.

Bot tokens cannot be supplied in the body — reconnect via [Start Slack OAuth](/docs/api/integrations/slack/channels/oauth-start) to change the workspace install or target channel.

Requires the `admin` or `subscriber` role and the **integrations** feature entitlement.

***

## Request
See [API Basics](/docs/api) for required headers.

### Request body
| Field             | Type    | Required | Description                                                                                                             |
| ----------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
| `dashboardId`     | uuid    | Yes      | Dashboard the subscription belongs to.                                                                                  |
| `urlHash`         | string  | Yes      | Current 64-character lowercase hex contact hash from [List Slack channels](/docs/api/integrations/slack/channels/list). |
| `componentIds`    | uuid\[] | No       | Replacement component set (at least one when provided).                                                                 |
| `managementEmail` | string  | No       | Replacement management email for failure alerts and manage links.                                                       |
| `paused`          | boolean | No       | Pause or resume notifications.                                                                                          |
| `locked`          | boolean | No       | Admin-managed flag (blocks dashboard self-service when `true`).                                                         |

***

## Sample request
```bash
curl -X PATCH https://api.statusdashboard.com/app/integrations/slack/channels \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "urlHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "componentIds": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
    "paused": false
  }'
```

## Sample response
**Status: `200 OK`**

```json
{
  "endpoint": {
    "channel": "slack",
    "dashboardId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "dashboardName": "Acme Status",
    "urlHash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "displayName": "#incidents · Acme Corp",
    "urlDisplay": "#incidents · Acme Corp",
    "slackTeamId": "T01234567",
    "slackChannelId": "C01234567",
    "managementEmail": "ops@acme.com",
    "verified": true,
    "paused": false,
    "locked": true,
    "suppressed": false,
    "componentIds": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
    "consecutiveFailures": 0,
    "updatedAt": "2026-06-01T15:10:00.000Z"
  }
}
```

***

## Error responses
| Status | When                                                         |
| ------ | ------------------------------------------------------------ |
| `400`  | Invalid body, no updatable fields, or invalid component.     |
| `403`  | Requires admin or subscriber role, or integrations disabled. |
| `404`  | Channel or dashboard not found.                              |
