Aggregators
Partner hierarchy, tenant creation, inherited branding, mailer defaults, billing visibility, and MSP oversight.
SoteriMailSoteria Cloud administrator guide
Operational guidance for Aggregators, MSPs, and customer administrators covering tenant setup, integrations, users, identity linking, archive operations, APIs, support, security, and troubleshooting.
Partner hierarchy, tenant creation, inherited branding, mailer defaults, billing visibility, and MSP oversight.
Customer onboarding, Microsoft and Acronis readiness, user rollout, identity linking, and support operations.
Tenant integrations, user creation, mailbox inventory, archive search, restore, security review, and escalation.
Knowledge Base
How Aggregators, MSPs, and customer administrators should understand tenant scope, responsibility boundaries, and the SoteriMail operating model.
Use this as the baseline for who owns tenant creation, customer onboarding, user access, integrations, and day-to-day support.
Aggregator administrators operate above MSPs and customers. They manage their own partner workspace, create downstream MSP or customer tenants when permitted, maintain inherited branding, and oversee service delivery patterns across the channel.
MSP administrators operate their own workspace and customer tenants in their scope. They typically own customer onboarding, Microsoft and Acronis readiness, customer branding overrides, user rollout, support triage, and monthly service operations.
Customer administrators operate inside one customer tenant. They manage customer users, mailbox assignment, integration health, identity linking, archive readiness, support cases, and security/compliance review.
SoteriMail uses a partner-aware tenant hierarchy so branding, mailer defaults, and operational responsibility can flow from platform to aggregator, MSP, and customer levels.
Platform owners control global configuration. Aggregators can create or manage downstream tenant scopes where enabled. MSPs can manage their customer estate. Customers are the operational boundary for mailbox, archive, and end-user activity.
Branding can inherit downward until a downstream tenant applies its own branding. Mailer settings follow the nearest configured override before falling back to platform defaults.
Archive and Microsoft integrations are customer-tenant scoped. Do not reuse one customer's credentials or tenant IDs in another customer tenant.
End users are mailbox-bound. Administrators can operate across permitted mailboxes inside their organization scope.
End users do not need an Acronis account. They can sign in with Microsoft where Microsoft sign-in is configured, and SoteriMail resolves their archived mailbox using Microsoft identity and mailbox address.
Administrators are the users expected to have Acronis integration authority. The admin connection is used for tenant discovery, archive readiness, and mailbox inventory refresh.
End-user archive search is restricted to the single resolved mailbox. Administrative search can expose broader mailbox options only when role and tenant scope permit it.
Knowledge Base
Step-by-step integration guidance for Acronis archive connectivity, Microsoft tenant configuration, directory sync, and readiness validation.
Configure Acronis tenant context so SoteriMail can discover mailbox inventory, validate archive readiness, run archive searches, and orchestrate restore operations.
{
"requestedMode": "live",
"dataCenterUrl": "https://eu2-cloud.acronis.com",
"clientId": "acronis-client-id",
"clientSecret": "secret",
"rootTenantId": "root-tenant-id",
"archiveEncryptionPassword": "optional-password",
"portalActorLogin": "admin@example.com",
"portalActorEmail": "admin@example.com",
"archiveMailboxId": "optional-mailbox-override-id",
"archiveMailboxName": "optional-mailbox-override-name",
"clearClientSecret": false,
"clearArchiveEncryptionPassword": false
}Configure Microsoft tenant access for Microsoft sign-in, directory sync, mailbox context, Outlook add-in identity, calendar, contacts, and task workflows.
{
"microsoftTenantId": "entra-tenant-id",
"microsoftClientId": "application-client-id",
"microsoftClientSecret": "application-client-secret",
"clearMicrosoftClientSecret": false
}Use Setup and Admin validation to confirm that SoteriMail is ready before rolling out users.
Knowledge Base
How administrators create users, onboard mailboxes, link Microsoft identities, and control the rollout from partner or customer workspaces.
Manual user creation is useful for administrators, pilot users, or exceptions that should not wait for bulk onboarding.
Bulk onboarding turns synced Microsoft accounts into controlled portal user creation candidates, then verifies archive coverage before invitation.
Identity linking connects portal users to Microsoft identities and archive mailboxes so sign-in and archive scope resolve correctly.
SoteriMail evaluates Microsoft account status, archive mailbox status, link status, login readiness, and archive access readiness.
Use Link Recommended when the system found a high-confidence Microsoft match. Use Link Selected when the correct Microsoft account must be chosen manually. Use Clear Link when a link is incorrect.
For end users, Microsoft identity and mailbox email are sufficient for SoteriMail access when the archived mailbox is discoverable through Acronis. End users do not need individual Acronis accounts.
Knowledge Base
Daily operating procedures for archive search, restore, support escalation, activity review, and security/compliance workflows.
Archive search is mailbox-scoped for end users and role-scoped for administrators.
Restore requests preserve source message, target mailbox, overwrite mode, status, and audit context.
Support keeps operational context attached to user issues. Security and forensic workspaces help administrators review protection state and evidence.
Support cases can be assigned, triaged, moved in progress, responded to, resolved, reopened, and annotated with internal notes.
Security gives customer administrators a protection score, top risks, email security, awareness, collaboration app security, posture management, and recommendations.
Forensics supports evidence collection, case management, preserved searches, custody history, export packages, and threat intelligence context where configured.
Knowledge Base
Guidance for tenant onboarding, branding, mailer configuration, billing visibility, and partner support responsibilities.
Partner admins use the Partner Workspace to create downstream tenants and prepare them for customer operations.
Partner branding and mailer settings can inherit through the tenant hierarchy. Billing visibility supports partner and tenant-level review.
Branding can be configured at platform, aggregator, MSP, or customer level. The nearest configured tenant branding is used unless a lower tenant overrides it.
Mailer configuration follows tenant override, nearest partner override, platform default, then runtime fallback.
Billing statements and billable-user visibility are available to platform and partner roles where enabled by tenant type and scope.
Platform owners use the billing workspace to review organization-level usage, including parent-child relationships and per-organization portal-user counts across aggregators, MSPs, and customers.
The platform-owner billing workspace also defines the billing-account tier table, including MRR bands, per-user price for each tier, and the default tier that applies to generated statements.
Individual organizations can override the default tier with an organization-specific tier assignment when the commercial agreement differs from the default account tier.
Knowledge Base
The JSON structures, endpoint groups, and request patterns administrators and integration teams need for implementation review.
SoteriMail APIs are JSON-first, session-authenticated, and return a direct domain object on success or an error field on failure.
Most endpoints require a signed-in portal session. Microsoft OAuth endpoints are used for Microsoft sign-in and Microsoft connection flows.
Most successful responses return the domain object directly rather than wrapping in a data envelope.
Failed responses return JSON with an error field and an HTTP status code appropriate to the failure.
{
"error": "Human readable error message."
}Core schemas used across archive, recovery, tenant, support, and identity operations.
{
"id": "user_123",
"username": "jane.customer",
"displayName": "Jane Customer",
"email": "jane@example.com",
"primaryIdentityEmail": "jane@example.com",
"microsoftUserId": "11111111-2222-3333-4444-555555555555",
"microsoftEmail": "jane@example.com",
"microsoftUserPrincipalName": "jane@example.com",
"role": "customer-admin",
"tenantId": "tenant_customer_001",
"tenantType": "customer",
"mailboxId": "mailbox_001",
"mailboxLabel": "Jane Customer",
"mailboxEmail": "jane@example.com"
}{
"mailboxId": "mailbox_001",
"query": "invoice",
"reasonCode": "self-service",
"dateFrom": "2026-01-01",
"dateTo": "2026-03-21",
"subject": "renewal",
"sender": "accounts@example.com",
"recipient": "jane@example.com",
"attachmentMode": "with-attachments"
}{
"id": "restore_001",
"tenantId": "tenant_customer_001",
"actorUserId": "user_123",
"targetMailboxId": "mailbox_001",
"messageRef": "msg_001",
"restoreTarget": "jane@example.com",
"overwriteMode": "safe-merge",
"taskId": "task_001",
"status": "queued",
"requestedAt": "2026-03-21T07:18:00.000Z",
"sourceSubject": "Renewal invoice"
}{
"tenantId": "tenant_customer_001",
"displayName": "Jane Customer",
"email": "jane@example.com",
"username": "jane@example.com",
"role": "end-user",
"password": "initial-password",
"mailboxId": "mailbox_001"
}{
"candidateIds": ["candidate_001", "candidate_002"],
"overrides": [
{
"candidateId": "candidate_001",
"username": "jane.customer",
"displayName": "Jane Customer",
"email": "jane@example.com"
}
]
}{
"tenantName": "Customer Ltd",
"tenantSlug": "customer-ltd",
"tenantType": "customer",
"adminUsername": "admin.customer",
"adminDisplayName": "Customer Admin",
"adminEmail": "admin@customer.example",
"adminPassword": "initial-password",
"requestedMode": "live",
"dataCenterUrl": "https://eu2-cloud.acronis.com",
"clientId": "acronis-client-id",
"clientSecret": "secret",
"rootTenantId": "root-tenant-id"
}Session establishment, Microsoft sign-in, workspace selection, and profile/session inspection endpoints.
Use these endpoints when reviewing portal session handling, Microsoft sign-in redirects, and multi-workspace activation behavior.
Workspace activation is session-bearing and should be reviewed with cookie-setting behavior in mind.
Session, login, Microsoft SSO, password reset, profile, and workspace selection.
| Method | Path | Purpose |
|---|---|---|
| POST | /api/auth/login | Start local sign-in |
| POST | /api/auth/verify-2fa | Complete local sign-in with 2FA |
| GET | /api/auth/microsoft/start | Start Microsoft sign-in or connect flow |
| GET | /api/auth/microsoft/callback | Complete Microsoft OAuth callback |
| GET | /api/auth/workspaces | List Microsoft-linked workspaces |
| POST | /api/auth/workspaces | Switch or activate a workspace |
| GET | /api/session/me | Read current session |
| GET | /api/profile | Read profile state |
Archive mailbox discovery, search, result inspection, Acronis handoff, and restore orchestration endpoints.
These endpoints are the core recovery surface for archive-backed search and restore workflows.
Search and restore operations are mailbox-scoped and should be reviewed with role and tenant scope rules in mind.
Mailbox inventory, archive search, search sessions, message preview, handoff, and restore.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/mailboxes | List accessible archive mailboxes |
| POST | /api/archive/search | Create an archive search session |
| GET | /api/archive/search/[id] | Read search session |
| GET | /api/archive/search/[id]/results | Read search results |
| POST | /api/archive/search/[id]/open-in-acronis | Create Acronis handoff |
| GET | /api/archive/messages/[ref] | Read archived message metadata |
| POST | /api/archive/messages/[ref]/restore | Request restore for archived message |
| GET | /api/restore/[id] | Read restore status |
Mailbox, delegated access, calendar, contacts, and tasks endpoints that drive the Microsoft-backed communication workspace.
These are operational mailbox and collaboration endpoints, not archive endpoints.
Delegated mailbox visibility and action restrictions should be reviewed separately from self-mailbox behavior.
Microsoft-backed mail, calendar, contacts, tasks, avatars, delegated mailboxes, and mailbox actions.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/mailbox/folders/[folderId]/messages | Read mailbox folder messages |
| POST | /api/mailbox/search | Search Microsoft mailbox content |
| POST | /api/mailbox/send | Send or draft mailbox message |
| POST | /api/mailbox/messages/[messageId]/action | Apply message action such as move or delete |
| GET | /api/mailbox/messages/[messageId]/attachments/[attachmentId] | Download message attachment |
| GET | /api/mailboxes/delegated | List delegated mailbox access |
| GET | /api/calendar/events | List calendar events |
| POST | /api/calendar/events | Create calendar event |
| POST | /api/calendar/free-busy | Read availability |
| GET | /api/contacts | List contacts |
| GET | /api/tasks | List tasks |
Customer-tenant administration endpoints for integration configuration, validation, user access, onboarding, identity linking, and support workflow.
This domain is the primary operational API surface for customer administrators and MSP operators working inside a customer tenant.
Bulk onboarding and identity linking should be reviewed together because rollout depends on both surfaces.
Tenant setup, integration validation, sync, users, bulk onboarding, identity links, and support.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/admin/summary | Read admin summary state |
| GET | /api/admin/integration | Read integration state |
| PUT | /api/admin/integration | Save tenant integration configuration |
| POST | /api/admin/integration/validate | Run tenant validation checks |
| POST | /api/admin/integration/microsoft/sync | Sync Microsoft directory |
| GET | /api/admin/users | List portal users |
| POST | /api/admin/users | Create portal user |
| GET | /api/admin/users/bulk | Read bulk onboarding candidates |
| POST | /api/admin/users/bulk | Create users from onboarding candidates |
| GET | /api/admin/identity-links | Read identity linking state |
| PATCH | /api/admin/identity-links | Link or clear Microsoft identity |
| PATCH | /api/admin/support | Update support case assignment, status, response, or notes |
Tenant onboarding, branding, mailer, Microsoft platform configuration, billing, and threat-intel provider endpoints.
These endpoints should be reviewed separately from customer-tenant administration because their scope and role requirements differ.
Platform configuration routes and partner onboarding routes are adjacent, but they are not interchangeable operational surfaces.
Platform billing now persists currency, a billing-tier table, and the active account tier rather than one flat per-user rate.
{
"currency": "ZAR",
"activeTierId": "tier-2",
"tiers": [
{
"id": "tier-1",
"label": "Tier 1",
"minimumMonthlyRecurringRevenue": 0,
"maximumMonthlyRecurringRevenue": 1000,
"pricePerUser": 7
},
{
"id": "tier-2",
"label": "Tier 2",
"minimumMonthlyRecurringRevenue": 1001,
"maximumMonthlyRecurringRevenue": 6000,
"pricePerUser": 6.37
}
],
"organizationTierAssignments": [
{
"tenantId": "tenant_customer_001",
"tierId": "tier-1"
}
]
}Tenant onboarding, branding, mailer, Microsoft platform config, billing, and threat intelligence.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/platform/tenants | List scoped tenants |
| POST | /api/platform/tenants | Create downstream tenant |
| GET | /api/platform/microsoft | Read platform Microsoft configuration |
| PUT | /api/platform/microsoft | Save platform Microsoft configuration |
| GET | /api/platform/branding | Read branding configuration |
| PUT | /api/platform/branding | Save branding configuration |
| POST | /api/platform/branding | Upload branding asset |
| GET | /api/platform/mailer | Read mailer configuration |
| PUT | /api/platform/mailer | Save mailer configuration |
| POST | /api/platform/mailer/validate | Validate mailer configuration |
| GET | /api/platform/billing | Read billing analytics and statement state |
| PUT | /api/platform/billing | Save billing configuration |
| GET | /api/platform/threat-intel | Read threat-intel provider configuration |
| PUT | /api/platform/threat-intel | Save threat-intel provider configuration |
Security posture, mail-auth intelligence, forensic case management, evidence handling, hunt execution, and preserved-search endpoints.
Security and forensics are grouped here because they are adjacent operationally, but they serve different analyst workflows.
Evidence collection, custody, and export endpoints should be read as an investigation surface, not as normal admin workflow APIs.
Security dashboard, mail authentication intelligence, forensic cases, evidence, preserved searches, custody, and exports.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/admin/security | Read security and compliance dashboard |
| POST | /api/admin/security | Run security refresh, validation, or sync actions |
| GET | /api/admin/security/mail-auth | Read SPF, DKIM, and DMARC intelligence |
| GET | /api/forensics/cases | List forensic cases |
| POST | /api/forensics/cases | Create forensic case |
| GET | /api/forensics/evidence | List evidence records |
| POST | /api/forensics/evidence | Create forensic evidence record |
| GET | /api/forensics/evidence/[id] | Read forensic evidence record |
| POST | /api/forensics/evidence/[id]/collect | Collect evidence artifact |
| GET | /api/forensics/evidence/[id]/custody | Read custody event history |
| GET | /api/forensics/evidence/[id]/export | Export evidence package |
| GET | /api/forensics/hunts | Read forensic hunt workspace state |
| POST | /api/forensics/hunts | Run forensic hunt |
| POST | /api/forensics/cases/[id]/evidence | Attach or detach evidence from a forensic case |
| GET | /api/forensics/cases/[id]/preserved-searches | List preserved searches for a forensic case |
| POST | /api/forensics/cases/[id]/preserved-searches | Create preserved search for a forensic case |
Bootstrap, archive, restore, support, and deeplink endpoints used by the Outlook add-in surface.
These endpoints are specific to the Outlook task-pane experience and should be reviewed separately from the main portal UI routes.
Outlook archive and restore operations are scoped through add-in bootstrap context rather than the full portal shell.
Outlook task pane bootstrap, archive search, restore, support escalation, and deeplinks.
| Method | Path | Purpose |
|---|---|---|
| POST | /api/outlook/bootstrap | Resolve Outlook user, mailbox, and allowed actions |
| POST | /api/outlook/archive/search | Run scoped archive search from Outlook |
| POST | /api/outlook/archive/restore | Request restore from Outlook |
| GET | /api/outlook/protection-status | Read mailbox protection status |
| POST | /api/outlook/support/escalate | Create support escalation from Outlook |
| GET | /api/outlook/deeplink | Build portal handoff URL |
Launch, OAuth, connect/disconnect, and event/action callback endpoints used when the portal is embedded or launched from Acronis.
This domain is integration-facing rather than operator-facing and should be reviewed whenever CyberApp launch or callback behavior changes.
OAuth start/callback and CyberApp action/event handlers belong together because deployment and callback URLs are coupled operationally.
Cyber Protect launch, OAuth callback, connect/disconnect, and callback action handling.
| Method | Path | Purpose |
|---|---|---|
| GET | /api/acronis/launch | Handle Acronis launch context |
| GET | /api/auth/acronis/start | Start Acronis OAuth flow |
| GET | /api/auth/acronis/callback | Complete Acronis OAuth flow |
| POST | /api/acronis/connect | Connect Acronis tenant context |
| POST | /api/acronis/disconnect | Disconnect Acronis tenant context |
| POST | /api/acronis/event | Receive Acronis event callback |
| POST | /api/acronis/action | Handle Acronis callback action |
Knowledge Base
Common issues and the checks administrators should run before escalating to Soteria Cloud support.
Administrators see no mailbox inventory or users cannot see archive search options.
Microsoft sign-in requires tenant configuration, consent, and a portal user or mailbox identity match.
Search and restore failures usually indicate scope mismatch, missing live archive session, expired Microsoft session, or archive readiness problems.