mail

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

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

모든 mail 엔드포인트

모든 개발자 문서

인증

Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 mail.manage 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.

이 엔드포인트는 조직 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_atstring아니요When the backend was last asked. null until the first sweep sees it.
send_enabledboolean
send_suspended_atstring아니요When we paused this mailbox's sending because most of its recent mail was permanently refused (W43-72). null = not paused.
send_suspended_reasonstring아니요The counts that decided the pause, in plain words. Empty when not paused.
receive_enabledboolean
statusMailboxStatusOne mailbox's state.
system_managedbooleanWe 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