---
title: "Update email campaign sending providers"
method: PATCH
path: "/emails/campaigns/{campaignId}/settings/providers"
tags: ["Email campaigns (legacy)"]
deprecated: true
---

# Update email campaign sending providers

`PATCH /emails/campaigns/{campaignId}/settings/providers`

## Request

- Base URL: `https://api.emelia.io`
- URL: `https://api.emelia.io/emails/campaigns/{campaignId}/settings/providers`
- Auth: API key in header `Authorization`

> **Deprecated.**

Sets the sending account(s). Either provide provider.id for a single provider, or useManyProviders=true with providersUsed=[...] for rotation. At least one of provider or useManyProviders is required. The campaign must not be RUNNING or ARCHIVED. New integrations should use the multichannel /advanced campaign endpoints instead.

## Path parameters

- `campaignId` string, required

## Request body

- object
  - `provider` object: Single provider (when useManyProviders is false).
    - `id` string
  - `useManyProviders` boolean
  - `providersUsed` string[]: Provider ObjectIds used when useManyProviders is true.

## Response `200`

Updated campaign.

- object
  - `success` true, required
  - `campaign` LegacyEmailCampaign, required: A full email campaign document (as returned by create/get/update).
    - `_id` string
    - `userId` string
    - `name` string
    - `status` 'DRAFT' | 'RUNNING' | 'PAUSED' | 'FINISHED' | 'ARCHIVED'
    - `provider` string, nullable
    - `useManyProviders` boolean
    - `providersUsed` string[]
    - `schedule` LegacyEmailScheduleOut
      - `bcc` string
      - `dailyContact` integer
      - `dailyLimit` integer
      - `minInterval` integer
      - `maxInterval` integer
      - `blacklistUnsub` boolean
      - `trackLinks` boolean
      - `trackOpens` boolean
      - `timeZone` string
      - `days` integer[]
      - `start` string
      - `end` string
      - `eventToStopMails` string[]
    - `steps` object[]
      - `_id` string
      - `delay` object
        - `amount` integer
        - `unit` string
      - `versions` object[]
        - `_id` string
        - `subject` string
        - `message` string
        - `disabled` boolean
        - `rawHtml` boolean
        - `attachments` object[]
        - `options` object
    - `recipients` object
      - `lists` object[]
      - `contacts` string[]
      - `processing` boolean
    - `zapierData` object[]
      - `webhookUrl` string
      - `events` string[]
    - `createdAt` string, date-time
    - `startAt` string, date-time
    - `estimatedEnd` string, date-time
    - `plannedStart` string, date-time

## Other responses

- `400`: Business or validation error. 400 by default; Joi validation errors carry code INVALID_REQUEST.

---

[API](https://skmtc.dev/emelia/apis/emelia-api.md) · [All operations](https://skmtc.dev/emelia/apis/emelia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/emelia/apis/emelia-api/revisions/8c0cb435f2c4?raw)
