---
title: "Update Notification Channel"
description: "Updates a notification channel."
---

`PATCH /api/notification-channels/:id`

Config is **merged** with existing secrets, preserving encrypted fields that are not provided.

## Request Body (all optional)

| Field | Type | Description |
|-------|------|-------------|
| `type` | string | Channel type |
| `name` | string | Display name |
| `config` | object\|string | Merged with existing secrets |
| `priority` | number | Priority order |
| `delaySeconds` | number | Delay before sending |
| `conditions` | object\|string\|null | Alert conditions |
| `allowedPackageTypes` | string[]\|null | Package types this channel applies to |
| `isActive` | boolean | Whether the channel is active |

## Example (cURL)

```bash
curl -X PATCH "$BASE_URL/api/notification-channels/1" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Email Channel",
    "isActive": true
  }'
```

## Common errors

- `401 Unauthorized` when not authenticated
- `403 Forbidden` when accessing channels outside your scope
- `404 Not found` when the channel does not exist

## Response

Returns the updated notification channel object. See [Error Codes](/api/error-codes-and-known-pitfalls) for error responses.
