---
title: "Update Subaccount settings"
method: GET
path: "/UserManager/edit_user"
tags: ["UserManager", "Subaccount Management"]
---

# Update Subaccount settings

`GET /UserManager/edit_user`

This function edits a Subaccount.

## Query parameters

- `domain` string, domain, required
- `username` string, required
- `alternate_email` string, email, nullable
- `avatar_url` string, url, nullable
- `password` string
- `phone_number` string, nullable
- `real_name` string, nullable
- `services.email.enabled` 0 | 1
- `services.email.quota` integer
- `services.ftp.enabled` 0 | 1
- `services.ftp.homedir` string, path
- `services.webdisk.enabled` 0 | 1
- `services.webdisk.enabledigest` 0 | 1
- `services.webdisk.homedir` string, path
- `services.webdisk.perms` 'ro' | 'rw'
- `services.webdisk.private` 0 | 1
- `type` 'sub'

## Response `200`

HTTP Request was successful.

- object
  - `apiversion` integer — The version of the API.
  - `func` string — The name of the method called.
  - `module` string — The name of the module called.
  - `result` object
    - `data` object
      - `alternate_email` string, email — An alternate email address for the subaccount's user.
      - `avatar_url` string, url — The user's subaccount profile photo.
      - `can_delete` 0 | 1 — Whether the cPanel account user can delete the subaccount. * `1` - Can delete. * `0` - **Cannot** delete.
      - `can_set_password` 0 | 1 — Whether the cPanel account user can change the subaccount's password. * `1` - Can change. * `0` - **Cannot** change. **Note:** The function returns a `0` value for subaccounts that inherit their password from the cPanel account.
      - `can_set_quota` 0 | 1 — Whether the cPanel account user can change the subaccount's disk usage quota. * `1` - Can change. * `0` - **Cannot** change.
      - `dismissed` 0 | 1 — Whether the cPanel account user dismissed the merge prompt for the service account. **Note:** **Only** service accounts return this value. * `1` - Dismissed. * `0` - Did **not** dismiss.
      - `domain` string, domain — The Subaccount user's associated domain. A domain that the cPanel account owns.
      - `full_username` string — The subaccount's username and domain name.
      - `guid` string — The subaccount unique identifier.
      - `has_expired_invite` 0 | 1 — Whether an expired account login invitation exists. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.
      - `has_invite` 0 | 1 — Whether an account login invitation exists. * `1` - Account invitation exists. * `0` - Account invitation does **not** exist.
      - `has_siblings` 0 | 1 — Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does **not** share.
      - `invite_expiration` integer — When the invitation expires.
      - `issues` object[] — Information about any issues or problems with the subaccount.
        - `area` string — The affected section of cPanel & WHM.
        - `limit` integer — The set quota megabyte (MB) limit for the affected subaccount.
        - `message` string — The description of the issue.
        - `service` 'email' | 'ftp' | 'webdisk' — The affected service. * `email` * `ftp` * `webdisk`
        - `type` 'error' | 'warning' | 'info' — The type of issue. * `error` * `warning` * `info`
        - `used` integer — The number of megabytes (MB) that the account currently uses.
      - `parent_type` string — The type of account that could own the service account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null`- **Not** a merge candidate.
      - `phone_number` string — The subaccount user's phone number. The number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers.
      - `real_name` string — The name of the subaccount's user. * A first name, a last name, or a first name and last name. * An empty string.
      - `services` object — This object contains information about the subaccount's access to email, FTP, and Web Disk.
        - `email` object — This object contains the information that indicates the subaccount's email status.
          - `enabled` 0 | 1 — Whether the subaccount can access Webmail, POP, and IMAP services. * `1` - Can access. * `0` - **Cannot** access.
          - `quota` integer — The maximum amount of disk space, in megabytes (MB), allocated to the subaccount's email account. **Note:** This function will not return `0` as a value.
        - `ftp` object — This object contains the information that indicates the subaccount's FTP status.
          - `enabled` 0 | 1 — Whether the subaccount can access FTP. * `1` - Can access. * `0` - **Cannot** access.
          - `homedir` string, path — The subaccount's FTP home directory.
          - `quota` integer — The maximum amount disk space, in megabytes (MB), that the subaccount may use. * A positive integer between `1` and `999999` * `0` - Unlimited.
        - `webdisk` object — This object contains information that indicates the subaccount's Web Disk status.
          - `enabled` 0 | 1 — Whether the subaccount can access Web Disk. * `1` - Can access. * `0` - **Cannot** access.
          - `homedir` string, path — The subaccount's Web Disk home directory.
          - `perms` 'ro' | 'rw' — Whether to grant write permissions to the subaccount. * `ro` - Read-only permissions. * `rw` - Read and write permissions.
          - `private` 0 | 1 — Whether to set the Web Disk directory's permissions to public or private. * `1` - Private (`0700`). * `0` - Public (`0755`).
      - `special` 0 | 1 — Whether the account is a system-created special account that the user **cannot** remove. * `1` - A special account. * `0` - **Not** a special account.
      - `sub_account_exists` 0 | 1 — Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The function returns a `null` value if the account is **not** a service account.
      - `synced_password` 0 | 1 — Whether the user has synchronized the passwords for each of the subaccount's service accounts. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The function returns a `null` value if the account is **not** a subaccount.
      - `type` string — The type of account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.
      - `username` string — The username for the subaccount. * Length - 64 characters. * Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`). **Note:** This value does **not** include the domain name.
      - `merge_candidates` object[] — An array of objects that represents the service accounts that the system could merge for this subaccount.
        - `alternate_email` string, email — An alternate email address for the subaccount's user.
        - `avatar_url` string, url — The user's subaccount profile photo.
        - `can_delete` 0 | 1 — Whether the cPanel account user can delete the subaccount. * `1` - Can delete. * `0` - **Cannot** delete.
        - `can_set_password` 0 | 1 — Whether the cPanel account user can change the subaccount's password. * `1` - Can change. * `0` - **Cannot** change. **Note:** The function returns a `0` value for subaccounts that inherit their password from the cPanel account.
        - `can_set_quota` 0 | 1 — Whether the cPanel account user can change the subaccount's disk usage quota. * `1` - Can change. * `0` - **Cannot** change.
        - `dismissed` 0 | 1 — Whether the cPanel account user dismissed the merge prompt for the service account. **Note:** **Only** service accounts return this value. * `1` - Dismissed. * `0` - Did **not** dismiss.
        - `domain` string, domain — The Subaccount user's associated domain. A domain that the cPanel account owns.
        - `full_username` string — The subaccount's username and domain name.
        - `guid` string — The subaccount unique identifier.
        - `has_expired_invite` 0 | 1 — Whether an expired account login invitation exists. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.
        - `has_invite` 0 | 1 — Whether an account login invitation exists. * `1` - Account invitation exists. * `0` - Account invitation does **not** exist.
        - `has_siblings` 0 | 1 — Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does **not** share.
        - `invite_expiration` integer — When the invitation expires.
        - `issues` object[] — Information about any issues or problems with the subaccount.
          - `area` string — The affected section of cPanel & WHM.
          - `limit` integer — The set quota megabyte (MB) limit for the affected subaccount.
          - `message` string — The description of the issue.
          - `service` 'email' | 'ftp' | 'webdisk' — The affected service. * `email` * `ftp` * `webdisk`
          - `type` 'error' | 'warning' | 'info' — The type of issue. * `error` * `warning` * `info`
          - `used` integer — The number of megabytes (MB) that the account currently uses.
        - `parent_type` string — The type of account that could own the service account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null`- **Not** a merge candidate.
        - `phone_number` string — The subaccount user's phone number. The number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers.
        - `real_name` string — The name of the subaccount's user. * A first name, a last name, or a first name and last name. * An empty string.
        - `services` object — This object contains information about the subaccount's access to email, FTP, and Web Disk.
          - `email` object — This object contains the information that indicates the subaccount's email status.
            - `enabled` 0 | 1 — Whether the subaccount can access Webmail, POP, and IMAP services. * `1` - Can access. * `0` - **Cannot** access.
            - `quota` integer — The maximum amount of disk space, in megabytes (MB), allocated to the subaccount's email account. **Note:** This function will not return `0` as a value.
          - `ftp` object — This object contains the information that indicates the subaccount's FTP status.
            - `enabled` 0 | 1 — Whether the subaccount can access FTP. * `1` - Can access. * `0` - **Cannot** access.
            - `homedir` string, path — The subaccount's FTP home directory.
            - `quota` integer — The maximum amount disk space, in megabytes (MB), that the subaccount may use. * A positive integer between `1` and `999999` * `0` - Unlimited.
          - `webdisk` object — This object contains information that indicates the subaccount's Web Disk status.
            - `enabled` 0 | 1 — Whether the subaccount can access Web Disk. * `1` - Can access. * `0` - **Cannot** access.
            - `homedir` string, path — The subaccount's Web Disk home directory.
            - `perms` 'ro' | 'rw' — Whether to grant write permissions to the subaccount. * `ro` - Read-only permissions. * `rw` - Read and write permissions.
            - `private` 0 | 1 — Whether to set the Web Disk directory's permissions to public or private. * `1` - Private (`0700`). * `0` - Public (`0755`).
        - `special` 0 | 1 — Whether the account is a system-created special account that the user **cannot** remove. * `1` - A special account. * `0` - **Not** a special account.
        - `sub_account_exists` 0 | 1 — Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The function returns a `null` value if the account is **not** a service account.
        - `synced_password` 0 | 1 — Whether the user has synchronized the passwords for each of the subaccount's service accounts. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The function returns a `null` value if the account is **not** a subaccount.
        - `type` string — The type of account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.
        - `username` string — The username for the subaccount. * Length - 64 characters. * Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`). **Note:** This value does **not** include the domain name.
        - `merge_candidates` object[] — An array of objects that represents the service accounts that the system could merge for this subaccount.
      - `dismissed_merge_candidates` SubaccountMergeCandidates[] — An array of objects of service candidates that the system dismissed from merges.
        - `merge_candidates` object[] — An array of objects that represents the service accounts that the system could merge for this subaccount.
          - `alternate_email` string, email — An alternate email address for the subaccount's user.
          - `avatar_url` string, url — The user's subaccount profile photo.
          - `can_delete` 0 | 1 — Whether the cPanel account user can delete the subaccount. * `1` - Can delete. * `0` - **Cannot** delete.
          - `can_set_password` 0 | 1 — Whether the cPanel account user can change the subaccount's password. * `1` - Can change. * `0` - **Cannot** change. **Note:** The function returns a `0` value for subaccounts that inherit their password from the cPanel account.
          - `can_set_quota` 0 | 1 — Whether the cPanel account user can change the subaccount's disk usage quota. * `1` - Can change. * `0` - **Cannot** change.
          - `dismissed` 0 | 1 — Whether the cPanel account user dismissed the merge prompt for the service account. **Note:** **Only** service accounts return this value. * `1` - Dismissed. * `0` - Did **not** dismiss.
          - `domain` string, domain — The Subaccount user's associated domain. A domain that the cPanel account owns.
          - `full_username` string — The subaccount's username and domain name.
          - `guid` string — The subaccount unique identifier.
          - `has_expired_invite` 0 | 1 — Whether an expired account login invitation exists. * `1` - Expired account invitation exists. * `0` - Expired account invitation does **not** exist.
          - `has_invite` 0 | 1 — Whether an account login invitation exists. * `1` - Account invitation exists. * `0` - Account invitation does **not** exist.
          - `has_siblings` 0 | 1 — Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does **not** share.
          - `invite_expiration` integer — When the invitation expires.
          - `issues` object[] — Information about any issues or problems with the subaccount.
            - `area` string — The affected section of cPanel & WHM.
            - `limit` integer — The set quota megabyte (MB) limit for the affected subaccount.
            - `message` string — The description of the issue.
            - `service` 'email' | 'ftp' | 'webdisk' — The affected service. * `email` * `ftp` * `webdisk`
            - `type` 'error' | 'warning' | 'info' — The type of issue. * `error` * `warning` * `info`
            - `used` integer — The number of megabytes (MB) that the account currently uses.
          - `parent_type` string — The type of account that could own the service account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** yet exist, but the user could create as part of a merge. * `null`- **Not** a merge candidate.
          - `phone_number` string — The subaccount user's phone number. The number conforms to the [ITU-T](https://en.wikipedia.org/wiki/ITU-T)'s [E.164](https://en.wikipedia.org/wiki/E.164)-recommended standard for the representation of telephone numbers.
          - `real_name` string — The name of the subaccount's user. * A first name, a last name, or a first name and last name. * An empty string.
          - `services` object — This object contains information about the subaccount's access to email, FTP, and Web Disk.
            - `email` object — This object contains the information that indicates the subaccount's email status.
              - …
            - `ftp` object — This object contains the information that indicates the subaccount's FTP status.
              - …
            - `webdisk` object — This object contains information that indicates the subaccount's Web Disk status.
              - …
          - `special` 0 | 1 — Whether the account is a system-created special account that the user **cannot** remove. * `1` - A special account. * `0` - **Not** a special account.
          - `sub_account_exists` 0 | 1 — Whether a subaccount exists with the same username. * `1` - Exists. * `0` - Does **not** exist. **Note:** The function returns a `null` value if the account is **not** a service account.
          - `synced_password` 0 | 1 — Whether the user has synchronized the passwords for each of the subaccount's service accounts. * `1` - Synchronized. * `0` - **Not** synchronized. **Note:** The function returns a `null` value if the account is **not** a subaccount.
          - `type` string — The type of account. * `sub` - A subaccount. * `hypothetical` - A hypothetical subaccount that does **not** exist, but that the user could create as part of a merge. * `service` - A service account. * `cpanel` - The cPanel account.
          - `username` string — The username for the subaccount. * Length - 64 characters. * Characters - `a-z`, `A-Z`, `0-9`, dot (`.`), hyphen (`-`), underscore (`_`). **Note:** This value does **not** include the domain name.
          - `merge_candidates` object[] — An array of objects that represents the service accounts that the system could merge for this subaccount.
    - `errors` string[], nullable — List of errors if the API failed.
    - `messages` string[], nullable — List of messages generated by the API.
    - `metadata` object
    - `status` 0 | 1 — * `1` - Success. * `0` - Failed. Check the `errors` field for more details.
    - `warnings` string[], nullable — List of warnings generated by the API. Warnings describe non-critical failures or other problematic conditions noted while running a API.

---

[API](https://skmtc.net/cpanel/apis/cpanel-uapi.md) · [All operations](https://skmtc.net/cpanel/apis/cpanel-uapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cpanel/cpanel-uapi/revisions/632e2f8e6d04/schema)
