---
title: "Update campaign schedule"
method: PUT
path: "/campaigns/{id}/schedule"
tags: ["Campaigns"]
---

# Update campaign schedule

`PUT /campaigns/{id}/schedule`

## Request

- Base URL: `https://api.emailchaser.com/r`
- URL: `https://api.emailchaser.com/r/campaigns/{id}/schedule`
- Auth: HTTP bearer

Updates the sending schedule for a campaign including timezone, days, time windows, and frequency. daysSchedule is sent as an array of days, but the response returns it as one comma-separated string of weekday numbers, such as "1,2,3,4,5". GET /campaigns/{id} returns it the same way.

## Path parameters

- `id` integer, required

## Request body

- ModelsUpdateCampaignScheduleRequest
  - `daysSchedule` string[]: DaysSchedule is the set of weekdays the campaign may send on. Accepts weekday numbers as strings, where Sunday is 0 ("1" is Monday), or weekday names such as "monday". Names are matched case-insensitively and common short forms ("mon", "tues") work. It is sent as an array, but stored as numbers and returned as one comma-separated string: a request sending Monday to Friday by name reads back as "1,2,3,4,5". For multiple leads scheduled campaigns (flow 3) and API campaigns.
  - `endSchedule` string
  - `everySchedule` integer
  - `maximumTimeBetweenEmails` integer
  - `minimumTimeBetweenEmails` integer
  - `sendAt` string: For single lead scheduled campaigns (flow 2)
  - `startSchedule` string
  - `timezone` string, required: Common field for all flows

## Response `200`

Campaign schedule updated successfully

- ModelsUpdateCampaignScheduleResponse
  - `campaign` object
    - `daysSchedule` string: DaysSchedule comes back as one comma-separated string of weekday numbers, where Sunday is 0, even though the request sends an array.
    - `endSchedule` string
    - `everySchedule` integer
    - `id` integer
    - `maximumTimeBetweenEmails` integer
    - `minimumTimeBetweenEmails` integer
    - `name` string
    - `startSchedule` string
    - `timezone` string
  - `message` string

## Other responses

- `400`: Invalid request body or schedule configuration
- `401`: Unauthorized - invalid or missing API key
- `404`: Campaign not found
- `500`: Failed to update campaign schedule

---

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