Overview
A mailbox in TenantCore is a shared mailbox provisioned on a verified custom domain in a Microsoft 365 tenant. Each domain supports up to 3 mailboxes. Mailboxes are created as shared mailboxes in Exchange Online and do not consume a Microsoft 365 license. Send limits are opt-in, not mandatory. Mailboxes are created without an enforced send limit by design. If you have fewer domains and want higher per-mailbox volume, you can leave limits unenforced and mailboxes will send without restriction. Send limit enforcement is a two-step process:- Set the limit — use
PATCH /v1/tenants/{tenant_id}/mailboxes/{mailbox_id}to store adaily_send_limitvalue per mailbox - Provision enforcement — use
POST /v1/tenants/{tenant_id}/mailbox-limitsto write the Exchange transport rule that enforces it
daily_send_limit on a mailbox without provisioning enforcement saves the value but does not restrict sending. The Exchange transport rule is what enforces the ceiling at the infrastructure level.
Exchange Online propagation after provisioning a mailbox takes 2 to 5 minutes. The mailbox will not be immediately available for sending after the API call returns.
List mailboxes
Returns all mailboxes across all domains on a tenant.
Example request
Errors
Provision mailboxes
Creates one or more shared mailboxes on a verified domain. Up to 3 mailboxes per domain. All mailboxes in the request must belong to the same domain.
Request body
Example request
Prerequisites
- The domain must be verified in Microsoft 365
- Exchange bootstrap must be
readyon the tenant - SMTP AUTH must be enabled on the tenant
Update mailbox
Updates the display name or daily send limit of a mailbox. Updatingdaily_send_limit stores the value in TenantCore but does not provision Exchange enforcement on its own. To activate enforcement at the Exchange level, call POST /v1/tenants/{tenant_id}/mailbox-limits after updating the limit.
Request body
At least one field must be provided.
Example request
Set enforcement
Saves a send limit policy and provisions the Exchange Online transport rule that enforces it. This is the step that activates the hard ceiling at the infrastructure level. Until this is called,daily_send_limit values on mailboxes are stored but not enforced by Exchange.
Enforcement is scoped at the domain level. Apply it to a specific domain or tenant-wide across all domains at once.
Request body
Example request — single domain
Get enforcement policy
Returns the current limit policy for a tenant or specific domain.
Query parameters
Example request
Get mailbox usage
Returns daily send counts, limit status, and block state for a specific mailbox.
Example request
Errors