smartlead-mcp-by-leadmagic
Version:
💜 The Premier Model Context Protocol Server for SmartLead's Cold Email Automation Platform - Complete API coverage with 116+ tools for campaign management, lead tracking, smart delivery, and analytics. Beautiful purple-gradient installer, zero-config set
165 lines • 5.51 kB
TypeScript
/**
* SmartLead MCP Server - Email Account Management Client
*
* Client module for email account management API endpoints.
* Handles all email account-related operations including creation, updates, warmup settings, and health metrics.
*
* @author LeadMagic Team
* @version 1.5.0
*/
import { BaseSmartLeadClient } from '../../client/base.js';
import type { SuccessResponse } from '../../types.js';
export interface EmailAccountRequest {
email: string;
password: string;
smtp_host: string;
smtp_port: number;
imap_host: string;
imap_port: number;
name?: string;
}
export interface UpdateEmailAccountRequest {
name?: string;
settings?: Record<string, unknown>;
status?: 'active' | 'inactive' | 'warmup';
}
export interface WarmupSettings {
email_account_id: number;
emails_per_day?: number;
warmup_reputation?: boolean;
ramp_up_increment?: number;
reply_rate_percentage?: number;
}
export interface EmailAccountHealthParams {
start_date?: string;
end_date?: string;
metrics?: string[];
}
export interface BulkUpdateEmailAccountRequest {
email_account_ids: number[];
settings?: Record<string, unknown>;
status?: 'active' | 'inactive' | 'warmup';
}
export interface SendingLimitsRequest {
daily_limit?: number;
monthly_limit?: number;
per_hour_limit?: number;
warmup_limit?: number;
}
/**
* Email Account Management Client
*
* Provides methods for managing SmartLead email accounts including:
* - Creating and updating email accounts
* - Managing warmup settings and status
* - Health metrics and monitoring
* - Campaign assignment and management
*/
export declare class EmailAccountManagementClient extends BaseSmartLeadClient {
/**
* List Email Accounts Per Campaign
* GET /campaigns/{campaign_id}/email-accounts
*/
listEmailAccountsPerCampaign(campaignId: number): Promise<SuccessResponse>;
/**
* Add Email Account To Campaign
* POST /campaigns/{campaign_id}/email-accounts
*/
addEmailAccountToCampaign(campaignId: number, params: {
email_account_id: number;
}): Promise<SuccessResponse>;
/**
* Remove Email Account From Campaign
* DELETE /campaigns/{campaign_id}/email-accounts/{email_account_id}
*/
removeEmailAccountFromCampaign(campaignId: number, emailAccountId: number): Promise<SuccessResponse>;
/**
* Get All Email Accounts
* GET /email-accounts
*/
getAllEmailAccounts(): Promise<SuccessResponse>;
/**
* Create Email Account
* POST /email-accounts
*/
createEmailAccount(params: EmailAccountRequest): Promise<SuccessResponse>;
/**
* Update Email Account
* POST /email-accounts/{email_account_id}
*/
updateEmailAccount(emailAccountId: number, params: UpdateEmailAccountRequest): Promise<SuccessResponse>;
/**
* Get Email Account By ID
* GET /email-accounts/{email_account_id}
*/
getEmailAccountById(emailAccountId: number): Promise<SuccessResponse>;
/**
* Start Email Account Warmup
* POST /email-accounts/{email_account_id}/warmup
*/
startEmailAccountWarmup(emailAccountId: number, params: WarmupSettings): Promise<SuccessResponse>;
/**
* Reconnect Failed Email Accounts
* POST /email-accounts/reconnect
*/
reconnectFailedEmailAccounts(params: {
email_account_ids: number[];
}): Promise<SuccessResponse>;
/**
* Update Email Account Tag
* POST /email-accounts/{email_account_id}/tag
*/
updateEmailAccountTag(emailAccountId: number, params: {
tag: string;
}): Promise<SuccessResponse>;
/**
* Test email account connection
*/
testEmailAccountConnection(accountId: number): Promise<SuccessResponse>;
/**
* Get email account warmup status
*/
getEmailAccountWarmupStatus(accountId: number): Promise<SuccessResponse>;
/**
* Update email account warmup settings
*/
updateEmailAccountWarmupSettings(accountId: number, params: WarmupSettings): Promise<SuccessResponse>;
/**
* Get email account health metrics
*/
getEmailAccountHealthMetrics(accountId: number, params?: EmailAccountHealthParams): Promise<SuccessResponse>;
/**
* Assign email accounts to campaign
*/
assignEmailAccountsToCampaign(campaignId: number, accountIds: number[]): Promise<SuccessResponse>;
/**
* Remove email accounts from campaign
*/
removeEmailAccountsFromCampaign(campaignId: number, accountIds: number[]): Promise<SuccessResponse>;
/**
* Update email account warmup
*/
updateEmailAccountWarmup(emailAccountId: number, params: {
warmup_enabled: boolean;
warmup_reputation?: number;
daily_ramp_up?: number;
reply_rate_percentage?: number;
}): Promise<SuccessResponse>;
/**
* Get campaign email accounts
*/
getCampaignEmailAccounts(campaignId: number): Promise<SuccessResponse>;
/**
* Bulk update email account settings
*/
bulkUpdateEmailAccountSettings(params: BulkUpdateEmailAccountRequest): Promise<SuccessResponse>;
/**
* Get email account sending limits
*/
getEmailAccountSendingLimits(accountId: number): Promise<SuccessResponse>;
/**
* Update email account sending limits
*/
updateEmailAccountSendingLimits(accountId: number, params: SendingLimitsRequest): Promise<SuccessResponse>;
}
//# sourceMappingURL=client.d.ts.map