cakemail-mcp-server
Version:
Enterprise MCP server for Cakemail API integration with Claude AI - includes comprehensive template management, list management, sub-account management, BEEeditor visual email design, and advanced analytics
102 lines • 2.6 kB
TypeScript
import { BaseApiClient } from './base-client.js';
export interface ListData {
name: string;
default_sender: {
id: number;
};
language?: string;
redirections?: {
subscribe?: string;
unsubscribe?: string;
update?: string;
};
webhook?: {
url?: string;
actions?: string[];
};
}
export interface UpdateListData {
name?: string;
default_sender?: {
id: number;
};
language?: string;
redirections?: {
subscribe?: string;
unsubscribe?: string;
update?: string;
};
webhook?: {
url?: string;
actions?: string[];
};
}
export interface ListFilters {
page?: number;
per_page?: number;
status?: string;
name?: string;
sort?: 'name' | 'created_on' | 'updated_on' | 'status';
order?: 'asc' | 'desc';
with_count?: boolean;
account_id?: number;
}
export interface ListsResponse {
pagination: {
count?: number;
page?: number;
per_page?: number;
total_pages?: number;
};
data: any[];
}
export interface ListResponse {
data: any;
}
export interface CreateListResponse {
data: any;
}
export interface ListStatsParams {
list_id: string;
start_time?: number;
end_time?: number;
interval?: 'hour' | 'day' | 'week' | 'month';
account_id?: number;
}
export interface ListStatsResponse {
data: any;
}
export declare class ListApi extends BaseApiClient {
getLists(filters?: ListFilters): Promise<ListsResponse>;
createList(data: ListData, options?: {
account_id?: number;
}): Promise<CreateListResponse>;
getList(listId: string, options?: {
account_id?: number;
}): Promise<ListResponse>;
updateList(listId: string, data: UpdateListData, options?: {
account_id?: number;
}): Promise<ListResponse>;
deleteList(listId: string, options?: {
account_id?: number;
}): Promise<{
success: true;
status: number;
}>;
archiveList(listId: string, options?: {
account_id?: number;
}): Promise<{
success: true;
status: number;
}>;
getListStats(listId: string, params?: {
start_time?: number;
end_time?: number;
interval?: string;
}): Promise<ListStatsResponse>;
findListByName(name: string): Promise<any | null>;
getActiveLists(): Promise<any[]>;
getAllLists(): Promise<any[]>;
processListsInBatches(processor: (batch: any[]) => Promise<void>): Promise<void>;
}
//# sourceMappingURL=list-api.d.ts.map