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

# Update email campaign schedule (global settings)

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

## Request

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

> **Deprecated.**

Replaces the campaign schedule (sending window, pace, tracking). The campaign must not be RUNNING or ARCHIVED. Extra validation beyond the schema: minInterval <= maxInterval, start <= end, dailyLimit >= dailyContact. Changing days/start/end/tracking rewrites each step version's per-day schedule. New integrations should use the multichannel /advanced campaign endpoints instead.

## Path parameters

- `campaignId` string, required

## Request body

- object
  - `schedule` object, required
    - `bcc` string, email: Optional BCC address for every email.
    - `dailyContact` integer, required: New contacts reached per day. Must be >= 2 to start a campaign.
    - `dailyLimit` integer, required: Max emails sent per day (all steps). Must be >= dailyContact.
    - `minInterval` integer, required: Min delay between two sends, in SECONDS. Must be <= maxInterval.
    - `maxInterval` integer, required: Max delay between two sends, in SECONDS.
    - `blacklistUnsub` boolean, required
    - `trackLinks` boolean, required
    - `trackOpens` boolean, required
    - `timeZone` string, required: IANA timezone name (moment-timezone), e.g. 'Europe/Paris'.
    - `days` integer[], required: Working days. 0 = Monday ... 6 = Sunday (back convention).
    - `start` string, required: Daily window start HH:MM. Must be <= end.
    - `end` string, required
    - `eventToStopMails` string[], required: Events that stop the sequence for a contact.

## 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)
