---
title: "Create Subaccount"
method: GET
path: "/UserManager/create_user"
tags: ["UserManager", "Subaccount Management"]
---

# Create Subaccount

`GET /UserManager/create_user`

This function creates a Subaccount.

## Query parameters

- `domain` string, domain, required
- `password` string, password, required
- `username` string, username, required
- `alternate_email` string, email
- `avatar_url` string, url
- `phone_number` string
- `real_name` string
- `send_invite` 0 | 1
- `services.email.enabled` 0 | 1
- `services.email.quota` string
- `services.email.send_welcome_email` 0 | 1
- `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` string
- `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` CreateUserResponse
      - `alternate_email` string, email — An alternate email address for the subaccount's user.
      - `avatar_url` string, url — The HTTPS URL to the user's subaccount profile photo image file.
      - `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. * `1` - Dismissed. * `0` - Did **not** dismiss. **Note:** **Only** service accounts return this value.
      - `domain` string, domain — The subaccount user's associated domain.
      - `full_username` string, email — The subaccount's username and domain name.
      - `guid` string — The subaccount unique identifier.
      - `has_siblings` 0 | 1 — Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does **not** share.
      - `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, nullable — 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. A valid phone number that conforms to [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, if provided.
      - `services` object — Information about the subaccount's access to email, FTP, and Web Disk.
        - `email` object — Information about 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 subaccount's email account.
        - `ftp` object — Information about 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, relative to the cPanel account's home directory.
          - `quota` string — The subaccount's maximum FTP disk space quota, in megabytes (MB). * A string containing a non-negative float. * `0.00` - Unlimited.
        - `webdisk` object — Information about 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, relative to the cPanel account's home directory.
          - `perms` string — Whether the subaccount has read-only or read and write permissions. * `ro` - Read-only permissions. * `rw` - Read and write permissions.
          - `private` 0 | 1 — Whether the subaccount's Web Disk directory permissions are 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, nullable — 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, nullable — 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` 'sub' | 'hypothetical' | 'service' | 'cpanel' — 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 subaccount's username.
      - `dismissed_merge_candidates` SubaccountBase[] — An array of objects containing service candidates that the system dismissed from merges.
        - `alternate_email` string, email — An alternate email address for the subaccount's user.
        - `avatar_url` string, url — The HTTPS URL to the user's subaccount profile photo image file.
        - `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. * `1` - Dismissed. * `0` - Did **not** dismiss. **Note:** **Only** service accounts return this value.
        - `domain` string, domain — The subaccount user's associated domain.
        - `full_username` string, email — The subaccount's username and domain name.
        - `guid` string — The subaccount unique identifier.
        - `has_siblings` 0 | 1 — Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does **not** share.
        - `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, nullable — 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. A valid phone number that conforms to [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, if provided.
        - `services` object — Information about the subaccount's access to email, FTP, and Web Disk.
          - `email` object — Information about 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 subaccount's email account.
          - `ftp` object — Information about 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, relative to the cPanel account's home directory.
            - `quota` string — The subaccount's maximum FTP disk space quota, in megabytes (MB). * A string containing a non-negative float. * `0.00` - Unlimited.
          - `webdisk` object — Information about 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, relative to the cPanel account's home directory.
            - `perms` string — Whether the subaccount has read-only or read and write permissions. * `ro` - Read-only permissions. * `rw` - Read and write permissions.
            - `private` 0 | 1 — Whether the subaccount's Web Disk directory permissions are 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, nullable — 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, nullable — 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` 'sub' | 'hypothetical' | 'service' | 'cpanel' — 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 subaccount's username.
      - `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.
      - `invite_expiration` integer — When the invitation expires. A date in Unix time format.
      - `merge_candidates` SubaccountBase[] — 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 HTTPS URL to the user's subaccount profile photo image file.
        - `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. * `1` - Dismissed. * `0` - Did **not** dismiss. **Note:** **Only** service accounts return this value.
        - `domain` string, domain — The subaccount user's associated domain.
        - `full_username` string, email — The subaccount's username and domain name.
        - `guid` string — The subaccount unique identifier.
        - `has_siblings` 0 | 1 — Whether the service account shares a `full_username` value with another service account. * `1` - Shares. * `0` - Does **not** share.
        - `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, nullable — 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. A valid phone number that conforms to [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, if provided.
        - `services` object — Information about the subaccount's access to email, FTP, and Web Disk.
          - `email` object — Information about 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 subaccount's email account.
          - `ftp` object — Information about 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, relative to the cPanel account's home directory.
            - `quota` string — The subaccount's maximum FTP disk space quota, in megabytes (MB). * A string containing a non-negative float. * `0.00` - Unlimited.
          - `webdisk` object — Information about 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, relative to the cPanel account's home directory.
            - `perms` string — Whether the subaccount has read-only or read and write permissions. * `ro` - Read-only permissions. * `rw` - Read and write permissions.
            - `private` 0 | 1 — Whether the subaccount's Web Disk directory permissions are 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, nullable — 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, nullable — 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` 'sub' | 'hypothetical' | 'service' | 'cpanel' — 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 subaccount's username.
    - `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/versions/632e2f8e6d04/schema)
