Skip to main content

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:
  1. Set the limit — use PATCH /v1/tenants/{tenant_id}/mailboxes/{mailbox_id} to store a daily_send_limit value per mailbox
  2. Provision enforcement — use POST /v1/tenants/{tenant_id}/mailbox-limits to write the Exchange transport rule that enforces it
Setting a 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.
Path parameters Example request
Example response
Response fields 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.
Path parameters Request body
Example request
Example response
Result statuses per mailbox Prerequisites
  • The domain must be verified in Microsoft 365
  • Exchange bootstrap must be ready on the tenant
  • SMTP AUTH must be enabled on the tenant
Errors

Update mailbox

Updates the display name or daily send limit of a mailbox. Updating daily_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.
Path parameters Request body
At least one field must be provided. Example request
Example response
Errors

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.
Path parameters Request body
Example request — single domain
Example request — tenant-wide
Example response
Errors

Get enforcement policy

Returns the current limit policy for a tenant or specific domain.
Path parameters Query parameters Example request
Errors

Get mailbox usage

Returns daily send counts, limit status, and block state for a specific mailbox.
Path parameters Example request
Example response
Response fields Errors