curl --request PATCH \
--url https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"displayName": "Josh Polmer",
"warmupDay": 1,
"dailyLimit": 3,
"status": "ACTIVE",
"hourlyLimit": 1,
"minuteLimit": 1,
"maxDailyLimit": 40,
"increasePerDay": 1,
"disableSlowWarmup": false,
"replyRatePercent": 30,
"weekdaysOnly": true,
"readEmulation": true,
"openRatePercent": 100,
"spamProtectionRatePercent": 100,
"markImportantRatePercent": 100,
"dailyCampaignLimit": 15,
"minimumWaitTime": 5,
"campaignSlowRamp": false,
"replyToAddress": "replies@example.com",
"inboxPlacementLimit": 10,
"warmCustomTrackingDomain": false,
"trackingDomain": "inst.example.com"
}
'import requests
url = "https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings"
payload = {
"displayName": "Josh Polmer",
"warmupDay": 1,
"dailyLimit": 3,
"status": "ACTIVE",
"hourlyLimit": 1,
"minuteLimit": 1,
"maxDailyLimit": 40,
"increasePerDay": 1,
"disableSlowWarmup": False,
"replyRatePercent": 30,
"weekdaysOnly": True,
"readEmulation": True,
"openRatePercent": 100,
"spamProtectionRatePercent": 100,
"markImportantRatePercent": 100,
"dailyCampaignLimit": 15,
"minimumWaitTime": 5,
"campaignSlowRamp": False,
"replyToAddress": "replies@example.com",
"inboxPlacementLimit": 10,
"warmCustomTrackingDomain": False,
"trackingDomain": "inst.example.com"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
displayName: 'Josh Polmer',
warmupDay: 1,
dailyLimit: 3,
status: 'ACTIVE',
hourlyLimit: 1,
minuteLimit: 1,
maxDailyLimit: 40,
increasePerDay: 1,
disableSlowWarmup: false,
replyRatePercent: 30,
weekdaysOnly: true,
readEmulation: true,
openRatePercent: 100,
spamProtectionRatePercent: 100,
markImportantRatePercent: 100,
dailyCampaignLimit: 15,
minimumWaitTime: 5,
campaignSlowRamp: false,
replyToAddress: 'replies@example.com',
inboxPlacementLimit: 10,
warmCustomTrackingDomain: false,
trackingDomain: 'inst.example.com'
})
};
fetch('https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings",
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([
'displayName' => 'Josh Polmer',
'warmupDay' => 1,
'dailyLimit' => 3,
'status' => 'ACTIVE',
'hourlyLimit' => 1,
'minuteLimit' => 1,
'maxDailyLimit' => 40,
'increasePerDay' => 1,
'disableSlowWarmup' => false,
'replyRatePercent' => 30,
'weekdaysOnly' => true,
'readEmulation' => true,
'openRatePercent' => 100,
'spamProtectionRatePercent' => 100,
'markImportantRatePercent' => 100,
'dailyCampaignLimit' => 15,
'minimumWaitTime' => 5,
'campaignSlowRamp' => false,
'replyToAddress' => 'replies@example.com',
'inboxPlacementLimit' => 10,
'warmCustomTrackingDomain' => false,
'trackingDomain' => 'inst.example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings"
payload := strings.NewReader("{\n \"displayName\": \"Josh Polmer\",\n \"warmupDay\": 1,\n \"dailyLimit\": 3,\n \"status\": \"ACTIVE\",\n \"hourlyLimit\": 1,\n \"minuteLimit\": 1,\n \"maxDailyLimit\": 40,\n \"increasePerDay\": 1,\n \"disableSlowWarmup\": false,\n \"replyRatePercent\": 30,\n \"weekdaysOnly\": true,\n \"readEmulation\": true,\n \"openRatePercent\": 100,\n \"spamProtectionRatePercent\": 100,\n \"markImportantRatePercent\": 100,\n \"dailyCampaignLimit\": 15,\n \"minimumWaitTime\": 5,\n \"campaignSlowRamp\": false,\n \"replyToAddress\": \"replies@example.com\",\n \"inboxPlacementLimit\": 10,\n \"warmCustomTrackingDomain\": false,\n \"trackingDomain\": \"inst.example.com\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"displayName\": \"Josh Polmer\",\n \"warmupDay\": 1,\n \"dailyLimit\": 3,\n \"status\": \"ACTIVE\",\n \"hourlyLimit\": 1,\n \"minuteLimit\": 1,\n \"maxDailyLimit\": 40,\n \"increasePerDay\": 1,\n \"disableSlowWarmup\": false,\n \"replyRatePercent\": 30,\n \"weekdaysOnly\": true,\n \"readEmulation\": true,\n \"openRatePercent\": 100,\n \"spamProtectionRatePercent\": 100,\n \"markImportantRatePercent\": 100,\n \"dailyCampaignLimit\": 15,\n \"minimumWaitTime\": 5,\n \"campaignSlowRamp\": false,\n \"replyToAddress\": \"replies@example.com\",\n \"inboxPlacementLimit\": 10,\n \"warmCustomTrackingDomain\": false,\n \"trackingDomain\": \"inst.example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"displayName\": \"Josh Polmer\",\n \"warmupDay\": 1,\n \"dailyLimit\": 3,\n \"status\": \"ACTIVE\",\n \"hourlyLimit\": 1,\n \"minuteLimit\": 1,\n \"maxDailyLimit\": 40,\n \"increasePerDay\": 1,\n \"disableSlowWarmup\": false,\n \"replyRatePercent\": 30,\n \"weekdaysOnly\": true,\n \"readEmulation\": true,\n \"openRatePercent\": 100,\n \"spamProtectionRatePercent\": 100,\n \"markImportantRatePercent\": 100,\n \"dailyCampaignLimit\": 15,\n \"minimumWaitTime\": 5,\n \"campaignSlowRamp\": false,\n \"replyToAddress\": \"replies@example.com\",\n \"inboxPlacementLimit\": 10,\n \"warmCustomTrackingDomain\": false,\n \"trackingDomain\": \"inst.example.com\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Email account settings updated successfully",
"data": {
"status": "ACTIVE",
"warmupDay": 12,
"dailyLimit": 20,
"hourlyLimit": 5,
"minuteLimit": 1,
"maxDailyLimit": 40,
"increasePerDay": 2,
"disableSlowWarmup": false,
"replyRatePercent": 30,
"weekdaysOnly": true,
"dailyCampaignLimit": 50,
"replyToAddress": null,
"usedToday": 14,
"emailsSentCount": 320,
"emailsReceivedCount": 290,
"bounceCount": 0,
"warmupScore": 92,
"lastWarmupAt": "2023-11-07T05:31:56Z",
"nextWarmupAt": "2023-11-07T05:31:56Z",
"lastErrorReason": null
}
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "RATE_LIMIT_EXCEEDED",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"limit": 10,
"windowSeconds": 60,
"retryAfterSeconds": 6,
"error": "Unauthorized"
}Update email account settings
Updates warmup settings for an email account belonging to the authenticated API user.
curl --request PATCH \
--url https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"displayName": "Josh Polmer",
"warmupDay": 1,
"dailyLimit": 3,
"status": "ACTIVE",
"hourlyLimit": 1,
"minuteLimit": 1,
"maxDailyLimit": 40,
"increasePerDay": 1,
"disableSlowWarmup": false,
"replyRatePercent": 30,
"weekdaysOnly": true,
"readEmulation": true,
"openRatePercent": 100,
"spamProtectionRatePercent": 100,
"markImportantRatePercent": 100,
"dailyCampaignLimit": 15,
"minimumWaitTime": 5,
"campaignSlowRamp": false,
"replyToAddress": "replies@example.com",
"inboxPlacementLimit": 10,
"warmCustomTrackingDomain": false,
"trackingDomain": "inst.example.com"
}
'import requests
url = "https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings"
payload = {
"displayName": "Josh Polmer",
"warmupDay": 1,
"dailyLimit": 3,
"status": "ACTIVE",
"hourlyLimit": 1,
"minuteLimit": 1,
"maxDailyLimit": 40,
"increasePerDay": 1,
"disableSlowWarmup": False,
"replyRatePercent": 30,
"weekdaysOnly": True,
"readEmulation": True,
"openRatePercent": 100,
"spamProtectionRatePercent": 100,
"markImportantRatePercent": 100,
"dailyCampaignLimit": 15,
"minimumWaitTime": 5,
"campaignSlowRamp": False,
"replyToAddress": "replies@example.com",
"inboxPlacementLimit": 10,
"warmCustomTrackingDomain": False,
"trackingDomain": "inst.example.com"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
displayName: 'Josh Polmer',
warmupDay: 1,
dailyLimit: 3,
status: 'ACTIVE',
hourlyLimit: 1,
minuteLimit: 1,
maxDailyLimit: 40,
increasePerDay: 1,
disableSlowWarmup: false,
replyRatePercent: 30,
weekdaysOnly: true,
readEmulation: true,
openRatePercent: 100,
spamProtectionRatePercent: 100,
markImportantRatePercent: 100,
dailyCampaignLimit: 15,
minimumWaitTime: 5,
campaignSlowRamp: false,
replyToAddress: 'replies@example.com',
inboxPlacementLimit: 10,
warmCustomTrackingDomain: false,
trackingDomain: 'inst.example.com'
})
};
fetch('https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings",
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([
'displayName' => 'Josh Polmer',
'warmupDay' => 1,
'dailyLimit' => 3,
'status' => 'ACTIVE',
'hourlyLimit' => 1,
'minuteLimit' => 1,
'maxDailyLimit' => 40,
'increasePerDay' => 1,
'disableSlowWarmup' => false,
'replyRatePercent' => 30,
'weekdaysOnly' => true,
'readEmulation' => true,
'openRatePercent' => 100,
'spamProtectionRatePercent' => 100,
'markImportantRatePercent' => 100,
'dailyCampaignLimit' => 15,
'minimumWaitTime' => 5,
'campaignSlowRamp' => false,
'replyToAddress' => 'replies@example.com',
'inboxPlacementLimit' => 10,
'warmCustomTrackingDomain' => false,
'trackingDomain' => 'inst.example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings"
payload := strings.NewReader("{\n \"displayName\": \"Josh Polmer\",\n \"warmupDay\": 1,\n \"dailyLimit\": 3,\n \"status\": \"ACTIVE\",\n \"hourlyLimit\": 1,\n \"minuteLimit\": 1,\n \"maxDailyLimit\": 40,\n \"increasePerDay\": 1,\n \"disableSlowWarmup\": false,\n \"replyRatePercent\": 30,\n \"weekdaysOnly\": true,\n \"readEmulation\": true,\n \"openRatePercent\": 100,\n \"spamProtectionRatePercent\": 100,\n \"markImportantRatePercent\": 100,\n \"dailyCampaignLimit\": 15,\n \"minimumWaitTime\": 5,\n \"campaignSlowRamp\": false,\n \"replyToAddress\": \"replies@example.com\",\n \"inboxPlacementLimit\": 10,\n \"warmCustomTrackingDomain\": false,\n \"trackingDomain\": \"inst.example.com\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"displayName\": \"Josh Polmer\",\n \"warmupDay\": 1,\n \"dailyLimit\": 3,\n \"status\": \"ACTIVE\",\n \"hourlyLimit\": 1,\n \"minuteLimit\": 1,\n \"maxDailyLimit\": 40,\n \"increasePerDay\": 1,\n \"disableSlowWarmup\": false,\n \"replyRatePercent\": 30,\n \"weekdaysOnly\": true,\n \"readEmulation\": true,\n \"openRatePercent\": 100,\n \"spamProtectionRatePercent\": 100,\n \"markImportantRatePercent\": 100,\n \"dailyCampaignLimit\": 15,\n \"minimumWaitTime\": 5,\n \"campaignSlowRamp\": false,\n \"replyToAddress\": \"replies@example.com\",\n \"inboxPlacementLimit\": 10,\n \"warmCustomTrackingDomain\": false,\n \"trackingDomain\": \"inst.example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://prod.leadvector.app/v1/email-accounts/{mailboxId}/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"displayName\": \"Josh Polmer\",\n \"warmupDay\": 1,\n \"dailyLimit\": 3,\n \"status\": \"ACTIVE\",\n \"hourlyLimit\": 1,\n \"minuteLimit\": 1,\n \"maxDailyLimit\": 40,\n \"increasePerDay\": 1,\n \"disableSlowWarmup\": false,\n \"replyRatePercent\": 30,\n \"weekdaysOnly\": true,\n \"readEmulation\": true,\n \"openRatePercent\": 100,\n \"spamProtectionRatePercent\": 100,\n \"markImportantRatePercent\": 100,\n \"dailyCampaignLimit\": 15,\n \"minimumWaitTime\": 5,\n \"campaignSlowRamp\": false,\n \"replyToAddress\": \"replies@example.com\",\n \"inboxPlacementLimit\": 10,\n \"warmCustomTrackingDomain\": false,\n \"trackingDomain\": \"inst.example.com\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Email account settings updated successfully",
"data": {
"status": "ACTIVE",
"warmupDay": 12,
"dailyLimit": 20,
"hourlyLimit": 5,
"minuteLimit": 1,
"maxDailyLimit": 40,
"increasePerDay": 2,
"disableSlowWarmup": false,
"replyRatePercent": 30,
"weekdaysOnly": true,
"dailyCampaignLimit": 50,
"replyToAddress": null,
"usedToday": 14,
"emailsSentCount": 320,
"emailsReceivedCount": 290,
"bounceCount": 0,
"warmupScore": 92,
"lastWarmupAt": "2023-11-07T05:31:56Z",
"nextWarmupAt": "2023-11-07T05:31:56Z",
"lastErrorReason": null
}
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "INVALID_API_KEY",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"error": "Unauthorized"
}{
"statusCode": 401,
"message": "RATE_LIMIT_EXCEEDED",
"traceId": "4f1c2b7e9a0d4c3b8e6f5a2d1c0b9e8f",
"timestamp": "2026-11-03T09:41:12.000Z",
"path": "/v1/find-email",
"limit": 10,
"windowSeconds": 60,
"retryAfterSeconds": 6,
"error": "Unauthorized"
}Authorizations
Your API key, from the API keys page of the app.
Path Parameters
Mailbox identifier
1
Body
Mailbox sender display name used in outgoing emails.
150"Josh Polmer"
Current warmup day for this mailbox.
x >= 11
Maximum warmup emails allowed per day.
1 <= x <= 5003
Warmup profile status. ACTIVE enables warmup, PAUSED disables warmup.
ACTIVE, PAUSED, COOLDOWN, BLOCKED "ACTIVE"
Maximum warmup emails allowed per hour.
1 <= x <= 1001
Maximum warmup emails allowed per minute.
1 <= x <= 201
Maximum daily warmup limit this mailbox can reach.
1 <= x <= 50040
How many emails to increase per day during warmup ramp.
1 <= x <= 501
Whether to disable gradual warmup ramping.
false
Percentage of warmup emails that should receive replies.
0 <= x <= 10030
Whether warmup emails should only be sent on weekdays.
true
Whether to emulate human-like reading behavior.
true
Percentage of warmup emails to open.
0 <= x <= 100100
Percentage of warmup emails to rescue from spam.
0 <= x <= 100100
Percentage of warmup emails to mark as important.
0 <= x <= 100100
Daily campaign sending limit for this mailbox, across every campaign it belongs to. Send null to clear it; omitting the property leaves the stored value unchanged.
1 <= x <= 50015
Minimum minutes between campaign sends from this mailbox, across every campaign it belongs to. Send null to clear it; omitting the property leaves the stored value unchanged.
1 <= x <= 14405
Gradually increase campaign emails sent per day.
false
Reply-to address for campaign emails. Empty clears it.
"replies@example.com"
Number of inbox placement test emails.
1 <= x <= 50010
Whether this mailbox uses a custom tracking domain.
false
Custom tracking domain hostname. Empty clears it.
"inst.example.com"