---
title: "Update account"
method: PUT
path: "/v1/account"
tags: ["Account"]
---

# Update account

`PUT /v1/account`

## Request

- Base URL: `https://api.forwardemail.net`
- URL: `https://api.forwardemail.net/v1/account`
- Auth: one of:
  - HTTP basic
  - HTTP basic

Update your account information.

- **User Account (API Token):** Update user profile fields.
- **Alias Account (Alias Credentials):** Update alias-scoped settings using the nested `settings` object. Legacy flat fields are accepted for compatibility. The response matches `GET /v1/account`.

## Request body

- object
  - `settings` object: Alias settings (alias authentication only)
    - `mail` object
      - `archive_folder` string, nullable: Alias mail archive folder
      - `sent_folder` string, nullable: Alias mail sent folder
      - `drafts_folder` string, nullable: Alias mail drafts folder
    - `label_settings` object: Alias label map keyed by keyword
    - `aliases` object
      - `defaults` object: Free-form alias defaults such as display_name or signature
  - `display_name` string: Display name
  - `locale` string: Locale preference
  - `email` string, email: Current email address (user authentication only). The login email cannot be changed through the API; sending a different value returns a 400 error. Change it under My Account > Profile instead.
  - `avatar_url` string, uri: Avatar URL (user authentication only)

## Response `200`

Account updated successfully

- union
  - Account
    - `sessions` string[]
    - `has_newsletter` boolean
    - `plan` string, required
    - `email` string, email, required
    - `max_quota_per_alias` integer
    - `full_email` string, email
    - `display_name` string
    - `otp_enabled` boolean
    - `last_locale` string
    - `address_country` string, nullable
    - `id` string, required
    - `object` string, required
    - `locale` string
    - `preferred_locale` string: User's preferred language setting that overrides automatic detection
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `address_html` string
    - `api_token` string, uuid
  - AliasAccount
    - `id` string, required: Alias ID
    - `object` string, required: Object type
    - `name` string, required: Alias name (local part of email)
    - `email` string, email, required: Full alias email address
    - `domain_id` string, required: Domain ID
    - `domain_name` string, required: Domain name
    - `storage_used` integer, required: Storage used in bytes for this alias/mailbox
    - `storage_quota` integer, required: Storage quota in bytes for this alias/mailbox
    - `has_imap` boolean: Whether IMAP is enabled for this alias
    - `has_pgp` boolean: Whether PGP encryption is enabled
    - `public_key` string: PGP public key if available
    - `has_smime` boolean: Whether S/MIME encryption is enabled
    - `smime_certificate` string: S/MIME X.509 certificate in PEM format
    - `has_wkd_disabled` boolean: Whether WKD (Web Key Directory) public key lookup is disabled for this alias
    - `locale` string: Locale preference
    - `settings` object: Alias settings
      - `mail` object
        - `archive_folder` string, nullable: Alias mail archive folder
        - `sent_folder` string, nullable: Alias mail sent folder
        - `drafts_folder` string, nullable: Alias mail drafts folder
      - `label_settings` object: Alias label map keyed by keyword
      - `aliases` object
        - `defaults` object: Free-form alias defaults such as display_name or signature.
    - `created_at` string, date-time: Creation timestamp
    - `updated_at` string, date-time: Last update timestamp

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `500`: Internal Server Error

---

[API](https://skmtc.dev/forwardemail/apis/forward-email-api.md) · [All operations](https://skmtc.dev/forwardemail/apis/forward-email-api/llms.txt) · [OpenAPI document](https://skmtc.dev/forwardemail/apis/forward-email-api/revisions/ecefab4527f6?raw)
