curl -X POST "https://server.smartlead.ai/api/v1/email-accounts/123?api_key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"max_email_per_day": 60,
"from_name": "John Doe - Sales",
"custom_tracking_url": "track.example.com",
"signature": "<p>Best regards,<br>John Doe<br>Sales Manager</p>",
"time_to_wait_in_mins": 10
}'
import requests
API_KEY = "YOUR_API_KEY"
account_id = 123
payload = {
"max_email_per_day": 60,
"from_name": "John Doe - Sales",
"custom_tracking_url": "track.example.com",
"signature": "<p>Best regards,<br>John Doe<br>Sales Manager</p>",
"time_to_wait_in_mins": 10
}
response = requests.post(
f"https://server.smartlead.ai/api/v1/email-accounts/{account_id}",
params={"api_key": API_KEY},
json=payload
)
result = response.json()
if result.get('ok'):
print(f"Email account {account_id} updated successfully")
const API_KEY = 'YOUR_API_KEY';
const accountId = 123;
const payload = {
max_email_per_day: 60,
from_name: 'John Doe - Sales',
custom_tracking_url: 'track.example.com',
signature: '<p>Best regards,<br>John Doe<br>Sales Manager</p>',
time_to_wait_in_mins: 10
};
const response = await fetch(
`https://server.smartlead.ai/api/v1/email-accounts/${accountId}?api_key=${API_KEY}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
}
);
const result = await response.json();
if (result.ok) {
console.log(`Email account ${accountId} updated successfully`);
}
{
"ok": true,
"message": "Email account updated successfully"
}
{
"message": "Invalid API Key"
}
{
"error": "Email account not found"
}
Email Account Management
Update Email Account
Update email account settings including sending limits, tracking domain, signature, and client association
POST
/
api
/
v1
/
email-accounts
/
{email_account_id}
curl -X POST "https://server.smartlead.ai/api/v1/email-accounts/123?api_key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"max_email_per_day": 60,
"from_name": "John Doe - Sales",
"custom_tracking_url": "track.example.com",
"signature": "<p>Best regards,<br>John Doe<br>Sales Manager</p>",
"time_to_wait_in_mins": 10
}'
import requests
API_KEY = "YOUR_API_KEY"
account_id = 123
payload = {
"max_email_per_day": 60,
"from_name": "John Doe - Sales",
"custom_tracking_url": "track.example.com",
"signature": "<p>Best regards,<br>John Doe<br>Sales Manager</p>",
"time_to_wait_in_mins": 10
}
response = requests.post(
f"https://server.smartlead.ai/api/v1/email-accounts/{account_id}",
params={"api_key": API_KEY},
json=payload
)
result = response.json()
if result.get('ok'):
print(f"Email account {account_id} updated successfully")
const API_KEY = 'YOUR_API_KEY';
const accountId = 123;
const payload = {
max_email_per_day: 60,
from_name: 'John Doe - Sales',
custom_tracking_url: 'track.example.com',
signature: '<p>Best regards,<br>John Doe<br>Sales Manager</p>',
time_to_wait_in_mins: 10
};
const response = await fetch(
`https://server.smartlead.ai/api/v1/email-accounts/${accountId}?api_key=${API_KEY}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
}
);
const result = await response.json();
if (result.ok) {
console.log(`Email account ${accountId} updated successfully`);
}
{
"ok": true,
"message": "Email account updated successfully"
}
{
"message": "Invalid API Key"
}
{
"error": "Email account not found"
}
Updates specific email account settings without requiring re-authentication. Use this endpoint to modify daily limits, custom domains, signatures, and other non-credential settings.
Path Parameters
number
required
The email account ID to update
Query Parameters
string
required
Your SmartLead API key
Request Body
number
Maximum emails allowed per day (including warmup and campaign emails)
string
Display name for outgoing emails
string
Custom domain for tracking links (e.g., “track.yourdomain.com”)
string
BCC email address for all outgoing emails
string
Email signature HTML
number
Client ID to associate this email account with (for multi-tenant accounts)
number
Minimum time to wait between emails in minutes
boolean
Whether to suspend or unsuspend the account
curl -X POST "https://server.smartlead.ai/api/v1/email-accounts/123?api_key=YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"max_email_per_day": 60,
"from_name": "John Doe - Sales",
"custom_tracking_url": "track.example.com",
"signature": "<p>Best regards,<br>John Doe<br>Sales Manager</p>",
"time_to_wait_in_mins": 10
}'
import requests
API_KEY = "YOUR_API_KEY"
account_id = 123
payload = {
"max_email_per_day": 60,
"from_name": "John Doe - Sales",
"custom_tracking_url": "track.example.com",
"signature": "<p>Best regards,<br>John Doe<br>Sales Manager</p>",
"time_to_wait_in_mins": 10
}
response = requests.post(
f"https://server.smartlead.ai/api/v1/email-accounts/{account_id}",
params={"api_key": API_KEY},
json=payload
)
result = response.json()
if result.get('ok'):
print(f"Email account {account_id} updated successfully")
const API_KEY = 'YOUR_API_KEY';
const accountId = 123;
const payload = {
max_email_per_day: 60,
from_name: 'John Doe - Sales',
custom_tracking_url: 'track.example.com',
signature: '<p>Best regards,<br>John Doe<br>Sales Manager</p>',
time_to_wait_in_mins: 10
};
const response = await fetch(
`https://server.smartlead.ai/api/v1/email-accounts/${accountId}?api_key=${API_KEY}`,
{
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload)
}
);
const result = await response.json();
if (result.ok) {
console.log(`Email account ${accountId} updated successfully`);
}
Response Codes
Success
Email account updated successfully
Unauthorized
Invalid or missing API key
Not Found
Email account not found or you don’t have access to it
Validation Error
Invalid field values
Internal Server Error
Server error occurred
{
"ok": true,
"message": "Email account updated successfully"
}
{
"message": "Invalid API Key"
}
{
"error": "Email account not found"
}
Usage Notes
All fields are optional - only include the fields you want to update. Omitted fields remain unchanged.
Use this endpoint to:
- Adjust daily sending limits as your account reputation improves
- Add or update email signatures
- Configure custom tracking domains
- Change BCC settings for compliance
To update SMTP/IMAP credentials or connection settings, use the Add SMTP Email Account endpoint with the account ID included to perform an update instead.
Related Endpoints
- Get Email Account by ID
- Add SMTP Email Account - For credential updates
- Suspend Email Account
