---
title: "Update multiple cPanel accounts"
method: GET
path: "/massmodifyacct"
tags: ["Accounts", "Account Management"]
---

# Update multiple cPanel accounts

`GET /massmodifyacct`

This function modifies multiple cPanel accounts.

**Warning:**

* We **strongly** recommend that you do not modify a cPanel account's settings
if that account uses a hosting plan (package). If the package values change, the
system will overwrite any of your custom values with the package's new values.
* This function uses case-sensitive parameters. You **must** enter parameters in
the correct case format. If you do not, the function will ignore that parameter.

**Note:**

On servers that run CentOS 7, you may see a `named` warning about the absence of
SPF resource records on DNS.
  * This warning is **not** relevant on CentOS 7 servers, because
  [RFC 7208 deprecated SPF records](https://tools.ietf.org/html/rfc7208). CentOS 7
  servers use TXT records instead of SPF records.
  * Red Hat 7.1 and CentOS 7.1 both contain `bind-9.9.4-23.el7`, which is an updated
  version of BIND that complies with RFC 7208. To resolve this issue, update your
  operating system to a version that contains the updated version of BIND. For more
  information, read the [Red Hat Bugzilla case about SPF record errors](https://bugzilla.redhat.com/show_bug.cgi?id=1215164).

## Query parameters

- `user` string, username, required
- `BACKUP` unknown
- `BWLIMIT` union
  - unknown
  - 'unlimited'
  - integer
- `CONTACTEMAIL` string, email
- `DBOWNER` string, username
- `DISK_BLOCK_LIMIT` integer
- `HASCGI` 1 | 0
- `HASDKIM` 1 | 0
- `HASDMARC` 1 | 0
- `HASSHELL` 1 | 0
- `HASSPF` 1 | 0
- `LANG` string
- `LOCALE` string, ISO-3166-1 (alpha-2)
- `MAILBOX_FORMAT` 'maildir' | 'mbox'
- `MAX_DEFER_FAIL_PERCENTAGE` union
  - 'unlimited'
  - integer
- `MAX_EMAIL_PER_HOUR` union
  - 'unlimited'
  - integer
- `MAX_EMAILACCT_QUOTA` union
  - 'unlimited'
  - integer
- `MAXADDON` union
  - unknown
  - 'unlimited'
  - integer
- `MAXFTP` union
  - unknown
  - 'unlimited'
  - integer
- `MAXLST` union
  - unknown
  - 'unlimited'
  - integer
- `MAXPARK` union
  - unknown
  - 'unlimited'
  - integer
- `MAXPASSENGERAPPS` union
  - unknown
  - 'unlimited'
  - integer
- `MAXPOP` union
  - unknown
  - 'unlimited'
  - integer
- `MAXSQL` union
  - unknown
  - 'unlimited'
  - integer
- `MAXSUB` union
  - unknown
  - 'unlimited'
  - integer
- `modify_firewall` 0 | 1
- `MXCHECK-*` integer
- `notify_account_authn_link` 1 | 0
- `notify_account_authn_link_notification_disabled` 1 | 0
- `notify_autossl_expiry` 1 | 0
- `notify_autossl_expiry_coverage` 1 | 0
- `notify_autossl_renewal` 1 | 0
- `notify_autossl_renewal_coverage` 1 | 0
- `notify_contact_address_change` 1 | 0
- `notify_contact_address_change_notification_disabled` 1 | 0
- `notify_disk_limit` 1 | 0
- `notify_password_change` 1 | 0
- `notify_password_change_notification_disabled` 1 | 0
- `notify_ssl_expiry` 1 | 0
- `OUTGOING_EMAIL_SUSPENDED` 1 | 0
- `OWNER` string, username
- `PUSHBULLET_ACCESS_TOKEN` string
- `QUOTA` union
  - unknown
  - 'unlimited'
  - integer
- `remove_missing_extensions` string
- `rename_database_objects` 1 | 0
- `reseller` 1 | 0
- `RS` string
- `shell` string, path
- `spamassassin` 1 | 0
- `STARTDATE` integer
- `STYLE` string

## Response `200`

HTTP Request was successful.

- object
  - `data` object
    - `payload` object[] — An array of objects containing data for each modified user. **Note:** If an account uses [linked cPanel server nodes](https://go.cpanel.net/whmdocsLinkServerNodes), this object contains a return for each server on which the account exists.
      - `extended` object — An object containing the account's modified settings.
        - `cpuser` object — An object containing the output of an account's `cpuser` file. The system stores this file in the `/var/cpanel/users` directory. **Note:** If the account or its hosting plan use [package extensions](https://go.cpanel.net/GuidetoPackageExtensions), the `cpuser` object will also include the extension's variables.
        - `domain` string, domain — The account's main domain.
        - `setshell` union — The absolute file path to the account's updated shell location. * `unmodified` — The shell's absolute filepath did not change.
          - string, path — The updated shell's absolute file path.
          - 'unmodified' | 'noshell', path — The shell's absolute filepath did not change.
        - `user` string, username — The cPanel account's username. **Note:** If you changed the cPanel account's username, the function returns the new value.
      - `messages` string[] — A list containing account modification messages.
      - `proxied_from` string[] — The hostnames of the [linked cPanel server nodes](https://go.cpanel.net/serverroles) from which the function proxied the return. The function returns the hostnames in their proxied order. **Note:** The function **only** returns this value for [distributed cPanel accounts](https://go.cpanel.net/cPanelGlossary#distributed-cpanel-account).
      - `reason` string — The account's modification status.
      - `result` 1 | 0 — Whether the account modification succeeded. * `1` — Success. * `0` — Failure.
      - `user` string, username — The modified account's username.
      - `warnings` string[] — A list of warning messages for the modified account, if any exist.
  - `metadata` object
    - `command` string — The method name called.
    - `reason` string — The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
    - `result` 1 | 0 — * `1` - Success * `0` - Failed: Check the reason field for more details.
    - `version` integer — The version of the API function.

---

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