| Method | Route | Permission | Description |
|---|
Index() | GET | — | Renders main DomainFlow view. Sets GSuite/Postal/Outlook login dropdowns, campaign ID, default IMAP/SMTP ports. |
GetDomains(DTParameters) | GET | — | Paginated/filtered/sorted DataTables JSON of domains. |
EmailAddresses(domainId, domainName, type) | GET | — | Returns _EmailAddresses partial view. |
DomainAccounts(domainId, domainName, type) | GET | — | Returns _DomainAccounts partial view. |
GetDomainAccounts(domainName, type) | GET | — | JSON array of accounts for domain+type (defaults to GSuite). |
GetAddresses(domainId, domainName, type) | GET | — | JSON of email accounts, dispatching by type (GSuite/Postal/Other/Outlook). |
| Method | Route | Permission | Description |
|---|
EditCampaignDomain(DomainId, campaignId) | GET | AddEditCampaign | Returns campaign domain edit partial with type dropdowns. |
EditClientDomain(CampaignDomain) | POST | AddEditCampaign | Creates Domain + CampaignDomain. URL must contain "http". Sends Hangfire notification. |
InitDomain(Id=0) | GET | AddNewDomain | Returns _InitDomain partial. SetupType/SendingMechanism/DomainType dropdowns. Defaults: Type=Hmail, GoogleLoginId=3. |
InitDomain(Domain) | POST | AddNewDomain | Creates domain. SetupType=3 clears domain Type. |
SelectExistingDomain(campaignId) | GET | AddEditCampaign | Returns _SelectExistingDomain partial with all client domains. |
SelectExistingDomain(List<string>) | POST | — | Copies existing domains to current campaign. |
EditCampaignDomainMultiple | GET/POST | AddEditCampaign | Batch domain purchase. Validates, buys via GoDaddy, creates entities, whitelists. |
CheckDomain(domainName) | POST | — | GoDaddy availability and price check. Rejects >$20. |
| Method | Route | Permission | Description |
|---|
SelectExistingAccount(domain) | GET | AddEditCampaign | Returns _SelectExistingAccount partial. |
SelectExistingAccount(accounts, type) | POST | — | Copies email accounts to campaign. Creates EPA + ResponderAccount. |
EditAccountLevel(email, type) | GET/POST | — | Account-level edit modal. Resolves entity ID by type. Updates forwarding/Exchange rules. |
CreateEmailAccount(model) | POST | GSuite | Creates account by type. EPA + ResponderAccount + ForwardingRule + ResponderInboxQueue. |
SaveSmtpAppPassword(Id, AppPassword, TwoFACode) | POST | — | Updates SMTP password/2FA. Propagates to linked records. |
| Method | Route | Permission | Description |
|---|
WarmupScheduleSetup(...) | GET | — | Returns _WarmupScheduleSetup partial. Defaults: start=tomorrow, all days enabled. |
EditWarmUpSchedule(model) | POST | — | Creates/updates warmup schedule V2. Validates date and profile linkage. |
TestWarmUpEmailTemplate | GET/POST | TestEmailTempalte | Spins template via Spinner.Spin, sends test email. |
ToggleActiveSending(emailAccountId, bool) | POST | — | Account-level — affects ALL EPAs sharing the same email. |
ToggleOffWarmUp(...) | POST | — | Deactivates warmup. Marks EPAs setup-incomplete if warmup required. |
| Method | Route | Permission | Description |
|---|
SearchEmails(searchTerm) | POST | — | Searches GSuite/Outlook/Other by email/name (max 50 each). |
GetEmailAccountDetails(email, type) | POST | — | Returns password, app password, 2FA, SMTP server/port, login. |
GetOutlookLicenseInfo(loginId) | POST | — | JSON with available Outlook license count. |
GetEmailProfilesForCampaign() | GET | — | JSON of profiles (id, name, salesAgentId). |
GetSalesAgents() | GET | — | JSON list of sales agents for campaign. |