---
title: "Update a mailbox"
method: PATCH
path: "/mailboxes/{id}"
tags: ["Mailboxes"]
---

# Update a mailbox

`PATCH /mailboxes/{id}`

## Request

- Base URL: `https://warmysender.com/api/v1`
- URL: `https://warmysender.com/api/v1/mailboxes/{id}`
- Auth: HTTP bearer

Partial update — only the fields you send change. Changing SMTP/IMAP credentials re-runs the connection test. Set external_id or signature to null to clear them.

Required scope: `mailboxes:write`.

## Path parameters

- `id` string, required

## Request body

- object
  - `display_name` string: Display name.
  - `smtp_host` string: SMTP host.
  - `smtp_port` integer: SMTP port (25/465/587).
  - `smtp_username` string: SMTP login.
  - `smtp_password` string, password: SMTP password.
  - `imap_host` string: IMAP host.
  - `imap_port` integer: IMAP port (143/993).
  - `imap_username` string: IMAP login.
  - `imap_password` string, password: IMAP password.
  - `sending_enabled` boolean: Allow sending.
  - `daily_send_limit` integer: Daily send cap.
  - `external_id` string, nullable: Your reference id, or null to clear.
  - `signature` string, nullable: HTML/text signature, or null to clear.

## Response `200`

Success

## Other responses

- `400`: `validation_error` — Body failed validation.
- `401`: `unauthorized` — Missing or invalid API key.
- `403`: `insufficient_scope` — The API key lacks the scope this endpoint requires.
- `404`: `not_found` — Mailbox not found.
- `409`: `duplicate_external_id` — The new external_id is already in use.
- `422`: `ssrf_blocked` — A host resolved to a private/internal IP.
- `429`: `rate_limited` — Too many requests — slow down and retry after the Retry-After delay.

---

[API](https://skmtc.dev/warmysender/apis/warmysender-public-api.md) · [All operations](https://skmtc.dev/warmysender/apis/warmysender-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/warmysender/apis/warmysender-public-api/revisions/289e9c167a1a?raw)
