Mailboxes API

Create, list, update, and delete mailboxes.

GET /v1/mailboxes

GET/v1/mailboxes

List all mailboxes. Scoped keys only see mailboxes in their scope.

response — 200 OK
{
  "mailboxes": [
    {
      "id": "a1b2c3d4-5678-4def-abcd-111111111111",
      "address": "hello",
      "fullAddress": "myagent@robotomail.co",
      "displayName": "My Agent",
      "dailySendCount": 5,
      "dailySendLimit": 100,
      "monthlySendCount": 120,
      "monthlySendLimit": 5000,
      "receivedThisMonth": 42,
      "status": "ACTIVE",
      "createdAt": "2026-03-11T00:00:00.000Z"
    }
  ]
}

receivedThisMonth is the per-mailbox inbound count for the current calendar month (UTC). The account-level monthly cap is summed across all mailboxes — see GET /v1/account for the account-wide total and limit.

POST /v1/mailboxes

POST/v1/mailboxes

Create a new mailbox. Requires full-access key.

Request body

NameTypeDescription
address*stringLocal part (1-64 chars, alphanumeric/._-)
displayNamestringFriendly name (max 255 chars)
domainIdstringUUID of a verified custom domain

Without domainId, the mailbox uses your platform email domain. Custom domains require the paid plan and a verified domain.

Errors

  • 400 — Invalid address format or domain not verified
  • 403 — Plan limit exceeded (free: 3 mailboxes) or custom domain on free plan
  • 404 — Domain not found

GET /v1/mailboxes/:id

GET/v1/mailboxes/:id

Get a single mailbox by ID. Returns the full mailbox object.

PATCH /v1/mailboxes/:id

PATCH/v1/mailboxes/:id

Update mailbox settings. Works with scoped keys if the mailbox is in scope.

Request body

NameTypeDescription
displayNamestringUpdated display name
status"ACTIVE" | "PAUSED"Pause or reactivate the mailbox

Errors

  • 403 — Free plan: cannot reactivate custom-domain mailbox or exceed 3 active mailboxes

DELETE /v1/mailboxes/:id

DELETE/v1/mailboxes/:id

Delete a mailbox. Requires full-access key. The underlying Stalwart account is also removed.

response — 200 OK
{ "deleted": true }