mail

POST /v1/mail/mailboxes/{mailboxId}/rename

Change a mailbox's address, keeping the mail in it.

所有 mail 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 mail.manage 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。

此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

curl -X POST https://api.zinndigital.com/v1/mail/mailboxes/{mailboxId}/rename \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "local": <string> }'

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

Changes the local part — `sales@example.com` becomes `hello@example.com` — with every message already in the mailbox intact. ⚖️ Part of the owner's 2026-08-16 ruling that a domain owner must be able to *"create the mailboxes easily and manage them in full"*. **A POST to a sub-resource rather than a field on `updateMailbox`, deliberately.** A rename moves where mail is delivered; a quota edit does not. Sharing a body would let a mistyped field change a customer's address as a side effect of resizing their mailbox, and would make the two indistinguishable in the audit log. ⛔ **The engine reads the mailbox back from the backend and refuses if the address did not actually change**, rather than trusting the backend's success response. It never falls back to create-then-delete: that would "work" on screen and silently destroy every stored message. `409` when the target address already exists on the domain; `422` for a mailbox that has not finished provisioning, and for the `system_managed` address the site sends from. Requires `mail.manage`.

参数

名称类型必填内容简介
mailboxId (path)UuidMailbox ID (UUIDv7).

请求正文

名称类型必填内容简介
localstringThe new part before the `@`. Lower-cased and trimmed by the engine.

响应

名称类型必填内容简介
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
addressstringThe full address.
localstringThe part before the `@`.
quota_mbintegerThis mailbox's size in MB. `0` means no cap.
used_mbintegerHow much of it is used, as the mail backend last reported it (#932). Refreshed by the hourly reconcile, so it is a recent figure rather than a live one.
percent_usedintegerHow full, 0-100. Always `0` for an uncapped mailbox — a percentage of "no limit" is meaningless, not zero-ish. Read `usage_checked_at` before showing it: this is also `0` for a…
usage_checked_atstringWhen the backend was last asked. `null` until the first sweep sees it.
send_enabledboolean
receive_enabledboolean
statusMailboxStatusOne mailbox's state.
system_managedboolean**We** created this mailbox when the domain was provisioned; the customer did not ask for it. It is the address the site itself sends from, so `deleteMailbox` and `renameMailbox…
created_atstring

此端点可能返回的错误

401 · 403 · 404 · 409 · 422 · 429 · 503