curl --request PATCH \
--url https://api.lemlist.com/api/schedules/{scheduleId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Schedule new name"
}
'import requests
url = "https://api.lemlist.com/api/schedules/{scheduleId}"
payload = { "name": "Schedule new name" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Schedule new name'})
};
fetch('https://api.lemlist.com/api/schedules/{scheduleId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api.lemlist.com/api/schedules/{scheduleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Schedule new name\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/schedules/{scheduleId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Schedule new name'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"_id": "skd_iQiNG7VinWIUkgLy1",
"name": "Renamed Schedule",
"secondsToWait": 1000,
"timezone": "Europe/Berlin",
"start": "08:00",
"end": "18:00",
"weekdays": [
1,
2,
3,
2,
5
],
"public": true,
"teamId": "tea_8QvkOiBfPdb2ZRhHi",
"createdBy": "usr_ahfFktBBHUIxbVG5P",
"createdAt": "2025-10-27T09:41:11.187Z"
}{
"error": "BadRequest",
"message": "Bad team or invalid schedule update"
}{
"error": "The authentication you supplied is incorrect"
}{
"error": "Schedule not found"
}Update Schedule
Updates an existing schedule’s parameters.
curl --request PATCH \
--url https://api.lemlist.com/api/schedules/{scheduleId} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Schedule new name"
}
'import requests
url = "https://api.lemlist.com/api/schedules/{scheduleId}"
payload = { "name": "Schedule new name" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'Schedule new name'})
};
fetch('https://api.lemlist.com/api/schedules/{scheduleId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://api.lemlist.com/api/schedules/{scheduleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Schedule new name\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lemlist.com/api/schedules/{scheduleId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Schedule new name'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"_id": "skd_iQiNG7VinWIUkgLy1",
"name": "Renamed Schedule",
"secondsToWait": 1000,
"timezone": "Europe/Berlin",
"start": "08:00",
"end": "18:00",
"weekdays": [
1,
2,
3,
2,
5
],
"public": true,
"teamId": "tea_8QvkOiBfPdb2ZRhHi",
"createdBy": "usr_ahfFktBBHUIxbVG5P",
"createdAt": "2025-10-27T09:41:11.187Z"
}{
"error": "BadRequest",
"message": "Bad team or invalid schedule update"
}{
"error": "The authentication you supplied is incorrect"
}{
"error": "Schedule not found"
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The unique identifier of the schedule
Body
The name of the schedule
Delay in seconds between operations
Timezone for the schedule (e.g., 'Europe/Paris')
Start time in HH:mm format
^([01]\d|2[0-3]):[0-5]\d$End time in HH:mm format
^([01]\d|2[0-3]):[0-5]\d$Days of the week the schedule is active (1=Monday, 7=Sunday)
1 <= x <= 7Set to true to make the schedule visible to use as a template
Response
Schedule successfully updated
Sending time windows defining when campaigns can send messages (days and hours).
Unique schedule identifier
Schedule name
Seconds between sends
Schedule timezone (e.g., 'Europe/Paris')
Daily start time (HH:mm)
^([01]\d|2[0-3]):[0-5]\d$Daily end time (HH:mm)
^([01]\d|2[0-3]):[0-5]\d$Active weekdays (1=Monday, 7=Sunday)
1 <= x <= 7Whether the schedule is available as a template for other users
Unique identifier of the team that owns this schedule
Unique identifier of the user who created this schedule
Timestamp when the schedule was created
Timestamp when the schedule was deleted (only present if deleted)
Unique identifier of the user who deleted this schedule (only present if deleted)
Was this page helpful?