> ## Documentation Index
> Fetch the complete documentation index at: https://docs.catchthegoodones.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Update a stream

> Update any setting on a campaign. Pairs are full-replace.

Updates any subset of campaign settings. The `pairs` field, when present, is treated as a **full-replace array**: server diffs against existing pairs, adds new (upserting accounts + creating inline segments), removes ones not in the new list.

## Body (all fields optional)

| Field                 | Type    | Notes                                                                                               |
| --------------------- | ------- | --------------------------------------------------------------------------------------------------- |
| `name`                | string  | Rename the campaign                                                                                 |
| `pairs`               | array   | Full-replace array. Each pair uses the same shape as [Create stream](/api-reference/create-stream). |
| `syncTimes`           | array   | `["HH:MM"]` slots                                                                                   |
| `timezone`            | string  | IANA timezone                                                                                       |
| `autoEnrichLinkedin`  | boolean |                                                                                                     |
| `autoEnrichEmail`     | boolean |                                                                                                     |
| `emailMode`           | enum    | `"verified"` or `"any"`                                                                             |
| `emailDigestOverride` | enum    | `"after_every_sync"`, `"daily"`, `"weekly"`, `"off"` or null                                        |
| `telegramOverride`    | boolean | or null                                                                                             |
| `deliveryDestination` | enum    | `"leads_only"` or `"leads_plus_webhook"`                                                            |
| `webhookUrl`          | string  | or null                                                                                             |
| `csvEmailRecipients`  | object  | `{to, cc?, format}` or null                                                                         |
| `isActive`            | boolean | Pause/resume                                                                                        |
| `isArchived`          | boolean |                                                                                                     |

## Response

```json theme={null}
{
  "id": 42,
  "pairsDiff": {
    "addedAccounts": [{ "handle": "newhandle", "accountId": 9, "accountCreated": true, "billingDelta": "stripe_quantity_incremented" }],
    "addedSegments": [{ "segmentId": 15, "segmentCreated": true }]
  }
}
```

`pairsDiff` is omitted when `pairs` wasn't in the request body.

## Auth

Bearer or session cookie.
