---
title: "InterWorx CLI"
source: "https://docs.nexcess.com/hosting/control-panel/interworx/interworx-cli/"
description: "Manage InterWorx via CLI: Use key scripts & the NodeWorx API for server/SiteWorx admin. Automate backups, user/domain mgmt, & more."
vertical: "Hosting"
date: "2025-05-29"
last_modified: "2026-06-30"
---

# InterWorx CLI

## Interworx Scripts

Interworx provides many scripts to administer the server and Siteworx accounts. These scripts live in the following locations:

- /usr/local/interworx/bin
- ~iworx/bin/
- /home/interworx/bin

(They all symlink to the same place)

There are many scripts that the interworx core uses in this location, and not all of them will be documented here.

## Backup.pex

Creates a backup of a siteworx account. If the domain specified is the primary domain of a siteworx account, it will back up the entire siteworx account. Otherwise, it will only back up items related to the domain provided.

Help page:

```
~iworx/bin/backup.pex --help
```

Example usage:

```
~iworx/bin/backup.pex -b all --domains domain1.com
```

## Cvspermsfix.pex

This command ensures the core Interworx files within /usr/local/interworx/ have the correct permissions.

Example Usage:

```
~iworx/bin/cvspermsfix.pex
```

## Disable-2fa.pex

Disables 2 factor authentication for a give nodeworx or siteworx user. The customer will need to re-enable 2fa later on if they wish.

Example Usage:

```
~iworx/bin/disable-2fa.pex --email user@domain.com
```

## Domain-promoter.pex

This command can switch a primary and secondary domain. This command is often used to change the primary domain of a siteworx account. Only a secondary or pointer domain on the account may be eligible for promotion.

Example Usage:

```
~iworx/bin/domain-promoter.pex --secondary-to-primary --primary-domain mydomain.com --secondary-domain otherdomain.com
```

## Listaccounts.pex

Lists the linux username and primary domain name over all Siteworx accounts on the server.

Example usage:

```
~iworx/bin/listaccounts.pex
```

## nodeworx.pex – Get Siteworx/nodeworx login link

There are other examples using nodeworx.pex but this one will provide URL to login with.

```
printf "nhttps://$(~iworx/bin/nodeworx.pex -u -c Ip -h -a listIpAddresses |head -1 |awk '{print $1}'):2443/nodeworx/index?action=ssoCommit&sid=$(~iworx/bin/nodeworx.pex -u -n -c Index -a getSession)nn"
```

## Varpermsfix.pex

Fixes any permissions issues within the var/ directory inside of the given siteworx account. Often used to correct permissions of email.

Example Usage:

```
~iworx/bin/varpermsfix.pex --siteworx mydomain.com
```

## NodeWorx CLI API

The nodeworx api allows you to do essentially anything via CLI that you can do via the Nodeworx gui.

  
The Nodeworx api can be used interactively with a built-in menu system. To use it interactively:

```
nodeworx -u
```

The help pages can be navigated. Start off with:

```
nodeworx -u -h

```

You can then look over the list of controllers and get the help page for a specific one. For example:

```
nodeworx -u -c Users -h

```

From there, you can see the actions you can take within a given controller and get further info about that action. For example:

```
nodeworx -u -c Users -a edit -h

```

And from there, there may be additional command line flags listed at the bottom of the help output. Keep navigating your way through the help pages until you have everything to formulate your command. You can remove the -h flag and switch it with the -n flag to make the command non-interactive, which allows it to run without prompting the user for any input, assuming you’ve given the command all the necessary arguments.

## A broad overview of helpful Nodeworx commands

### ListLoadAverage

**Example Usage:**

```
nodeworx -u -c Overview -a listLoadAverage
```

### ListServiceStatus

Additional flags

```
-u -c -a
```

**Example Usage:**

```
nodeworx -u -c Overview -a listServiceStatus
```

### ListHostname

**Example Usage:**

```
nodeworx -u -c Overview -a listHostname

```

### ListVersion

**Example Usage:**

```
nodeworx -u -c Overview -a listVersion

```

### ListLicenseKey

**Example Usage:**

```
nodeworx -u -c Overview -a listLicenseKey
```

## Helpful Nodeworx commands for User administration

### Add

Additional flags

```
--nickname <string>                 
--email <string>                    
--language <string>                 ru|de|es|pl|nl|sk|sv|hu|it|pt|en-us|fr|zh|da|tr|cs
--theme <string>                    blue_steel|calliope|coolfreshness|gandalf|heliotrope|interstate|interworx|vanillaice
--menu_style <string>               big|small
--encrypted <string>                "y" if the password is ALREADY encrypted, "n" if the password is not yet encrypted. Default: n
--password <string>                 
--confirm_password <string>         
--requires_password_change <string> 1|0
--perms <string>                    NODEWORXUSER|LANGUAGES|THEMES|SWACCOUNTS|SHELLUSERS|PACKAGES|LOGIN|BRESTORE|IMPORT|EMAIL|RESELLER|APACHE|FTP|MYSQL|DNS|SSH|APIKEY|CRON|IPS|FIREWALL|UPDATES|GRAPHS|NFS|CLUSTERING|SETTINGS|IWORXLOGS|PHPMYADMIN|PLUGINS|SSL|REMOTEASSIST|userhistory
```

E**xample Usage:**

```
nodeworx -u -c Users -a add

```

### Edit

Additional flags

```
--user <string>          training@liquidweb.com

```

**Example Usage:**

```
nodeworx -u -c Users -a edit

```

### Delete

Additional flags

```
--user <string>          

```

**Example Usage:**

```
nodeworx -u -c Users -a delete
```

### Deactivate

Additional flags

```
--user <string>          

```

**Example Usage:**

```
nodeworx -u -c Users -a deactivate

```

### Activate

Additional flags

```
--user <string>          

```

**Example Usage:**

```
nodeworx -u -c Users -a activate
```

### List

Additional flags

```
--datasource <string>    
--format <string>        both|values|display_values

```

**Example Usage:**

```
nodeworx -u -c Users -a list
```

### ListWorkingUser

Additional flags

```
-u -c -a
```

**Example Usage:**

```
nodeworx -u -c Users -a listWorkingUser

```

### ListMasterUser

Additional flags

```
-u -c -a
```

**Example Usage:**

```
nodeworx -u -c Users -a listMasterUser
```

## Helpful overview of Nodeworx Language commands

### ListLanguages

Additional flags

```
-u -c -a
```

**Example Usage:**

```
nodeworx -u -c Lang -a listLanguages
```

### Add

Additional flags

```
--code <string>          |ab|aa|af|sq|am|ar|hy|as|ay|az|ba|eu|bn|dz|bh|bi|br|bg|my|be|km|ca|zh|co|hr|cs|da|nl|en-uk|en-us|eo|et|fo|fj|fi|fr|fy|gd|gl|ka|de|el|kl|gn|gu|ha|iw|hi|hu|is|in|ia|ie|ik|ga|it|ja|jw|kn|ks|kk|rw|ky|rn|ko|ku|lo|la|lv|ln|lt|mk|mg|ms|ml|mt|mi|mr|mo|mn|na|ne|nw|oc|or|om|ps|fa|pl|pt|pa|qu|rm|ro|ru|sm|sg|sa|sr|sh|st|tn|sn|sd|si|ss|sk|sl|so|es|su|sw|sv|tl|tg|ta|tt|te|th|bo|ti|to|ts|tr|tk|tw|uk|ur|uz|vi|vo|cy|wo|xh|ji|yo|zu
--lang_file <string>     

```

**Example Usage:**

```
nodeworx -u -c Lang -a add

```

### SyncLanguage

Additional flags

```
--code <string>          ru|de|es|pl|nl|sk|sv|hu|it|pt|en-us|fr|zh|da|tr|cs

```

**Example Usage:**

```
nodeworx -u -c Lang -a syncLanguage

```

### Delete

Additional flags

```
--code <string>          ru|de|es|pl|nl|sk|sv|hu|it|pt|fr|zh|da|tr|cs

```

**Example Usage:**

```
nodeworx -u -c Lang -a delete

```

### ChangeCurrentUserLanguage

Additional flags

```
--language <string>      ru|de|es|pl|nl|sk|sv|hu|it|pt|en-us|fr|zh|da|tr|cs

```

**Example Usage:**

```
nodeworx -u -c Lang -a changeCurrentUserLanguage
```

## Helpful Nodeworx commands about Themes

### Add

Additional flags

```
--archive <string>       

```

**Example Usage:**

```
nodeworx -u -c Themes -a add

```

### SyncTheme

Additional flags

```
--theme <string>         heliotrope

```

**Example Usage:**

```
nodeworx -u -c Themes -a syncTheme
```

### Update

Additional flags

```
--theme <string>         heliotrope

```

**Example Usage:**

```
nodeworx -u -c Themes -a update

```

### SwitchAllUsersTheme

Additional flags

```
--change_from <string>   blue_steel|calliope|coolfreshness|gandalf|heliotrope|interstate|interworx|vanillaice

```

**Example Usage:**

```
nodeworx -u -c Themes -a switchAllUsersTheme

```

### Delete

Additional flags

```
--theme <string>         blue_steel|calliope|coolfreshness|heliotrope|interstate

```

**Example Usage:**

```
nodeworx -u -c Themes -a delete

```

### List

Additional flags

```
--datasource <string>    
--format <string>        both|values|display_values

```

**Example Usage:**

```
nodeworx -u -c Themes -a list
```

### ListDeletable

Additional flags

```
--datasource <string>    
--format <string>        both|values|display_values

```

**Example Usage:**

```
nodeworx -u -c Themes -a listDeletabl
```

## Helpful Nodeworx commands for API calls

### ListApikey

**Example Usage:**

```
nodeworx -u -c Apikey -a listApikey

```

### Delete

**Example Usage:**

```
nodeworx -u -c Apikey -a delete

```

### Generate

**Example Usage:**

```
nodeworx -u -c Apikey -a generate
```

## Helpful Nodeworx commands for Plugins

### ListPlugins

**Example Usage:**

```
nodeworx -u -c Plugins -a listPlugins

```

### Edit

Additional flags

```
--plugin_name <string>   auto-enable-shell-account|configservercsf|eventhooks|softaculous|autoset-spamprefs|catchall-account-option|cloudflare|disable-local-delivery|domain-email-create|external-nfs-quota|hello|history|lets-encrypt|litespeed|r1soft

```

**Example Usage:**

```
nodeworx -u -c Plugins -a edit
```

### QueryEdit

Additional flags

```
--plugin_name <string>   auto-enable-shell-account|configservercsf|eventhooks|softaculous|autoset-spamprefs|catchall-account-option|cloudflare|disable-local-delivery|domain-email-create|external-nfs-quota|hello|history|lets-encrypt|litespeed|r1soft

```

**Example Usage:**

```
nodeworx -u -c Plugins -a queryEdit
```

## Helpful Nodeworx commands for Two Factor Authorization

### Generate

Additional flags

```
--accountusername <string> 
--key <string>             
--code <integer>           

```

**Example Usage:**

```
nodeworx -u -c Twofactorauth -a generate

```

### Delete

**Example Usage:**

```
nodeworx -u -c Twofactorauth -a delete
```

## Helpful Nodeworx commands regarding Notices and Banners

### ListBannerNotices

**Example Usage:**

```
nodeworx -u -c Notice -a listBannerNotices

```

### RemoveUnsubscription

Additional flags

```
--code <string>          

```

**Example Usage:**

```
nodeworx -u -c Notice -a removeUnsubscription

```

### Unsubscribe

Additional flags

```
--code <string>          

```

**Example Usage:**

```
nodeworx -u -c Notice -a unsubscribe

```

### UnsubscribeAll

**Example Usage:**

```
nodeworx -u -c Notice -a unsubscribeAll

```

### IgnoreUntil

Additional flags

```
--delivery_id <string>   3|6|8|10|12|15|17|1|2|4|5|7|9|11|13|14|16

```

**Example Usage:**

```
nodeworx -u -c Notice -a ignoreUntil

```

### DismissBanner

Additional flags

```
--delivery_id <string>   3|6|8|10|12|15|17|1|2|4|5|7|9|11|13|14|16

```

**Example Usage:**

```
nodeworx -u -c Notice -a dismissBanner
```

## Helpful Nodeworx commands for Siteworx accounts

### QueryDomain

Additional flags

```
--domain <string>        

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a queryDomain
```

### ListAccounts

**Example Usage:**

```
nodeworx -u -c Siteworx -a listAccounts

```

### ListDomainAccounts

**Example Usage:**

```
nodeworx -u -c Siteworx -a listDomainAccounts

```

### QueryDomainAccountDetails

Additional flags

```
--domain <string>        

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a queryDomainAccountDetails
```

### Add

Additional flags

```
--reseller <string>                  1
--master_domain <string>             
--master_domain_ipv4 <string>        50.28.48.85|50.28.48.91
--master_domain_ipv6 <string>        0
--database_server <string>           localhost
--uniqname <string>                  
--nickname <string>                  
--email <string>                     
--encrypted <string>                 "y" if the password is ALREADY encrypted, "n" if the password is not yet encrypted. Default: n
--password <string>                  
--confirm_password <string>          
--requires_password_change <string>  1|0
--language <string>                  ru|de|es|pl|nl|sk|sv|hu|it|pt|en-us|fr|zh|da|tr|cs
--theme <string>                     blue_steel|calliope|coolfreshness|gandalf|heliotrope|interstate|interworx|vanillaice
--menu_style <string>                big|small
--billing_day <string>               1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31
--additional_ipv4 <string>           50.28.48.85|50.28.48.91
--php_version <string>               system-php|/opt/remi/php54|/opt/remi/php55|/opt/remi/php56|/opt/remi/php70|/opt/remi/php71|/opt/remi/php72|/opt/remi/php73
--php_available <string>             system-php|/opt/remi/php54|/opt/remi/php55|/opt/remi/php56|/opt/remi/php70|/opt/remi/php71|/opt/remi/php72|/opt/remi/php73
--create_package <string>            1|0
--new_package_name <string>          
--OPT_STORAGE <integer>              Megabytes
--OPT_BANDWIDTH <integer>            Gigabytes / Month
--OPT_EMAIL_ALIASES <integer>        
--OPT_EMAIL_AUTORESPONDERS <integer> 
--OPT_EMAIL_BOXES <integer>          
--OPT_EMAIL_GROUPS <integer>         
--OPT_FTP_ACCOUNTS <integer>         
--OPT_MYSQL_DBS <integer>            
--OPT_MYSQL_DB_USERS <integer>       
--OPT_POINTER_DOMAINS <integer>      
--OPT_SLAVE_DOMAINS <integer>        
--OPT_SUBDOMAINS <integer>           
--OPT_BACKUP <string>                1|0
--OPT_CGI_ACCESS <string>            1|0
--OPT_CRONTAB <string>               1|0
--OPT_DNS_RECORDS <string>           1|0
--OPT_SSL <string>                   1|0
--OPT_BURSTABLE <string>             1|0
--OPT_SAVE_XFER_LOGS <string>        1|0
--fpm_max_children <integer>         
--fpm_max_requests <integer>         
--fpm_process_management <string>    dynamic|static|ondemand
--fpm_start_servers <integer>        
--fpm_min_spare_servers <integer>    
--fpm_max_spare_servers <integer>    
--fpm_process_idle_timeout <string>  
--restart_httpd <string>             1|0
--softaculous <string>               1|0

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a add

```

### Suspend

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a suspend
```

### Unsuspend

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a unsuspend

```

### SuspendByUser

Additional flags

```
--user <string>          newacctc|newiwxma

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a suspendByUser

```

### UnsuspendByUser

Additional flags

```
--user <string>          newacctc|newiwxma

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a unsuspendByUser

```

### Ips

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a ips

```

### AddIp

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a addIp

```

### QueryAvailableIps

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a queryAvailableIps

```

### RemoveIp

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com
--ip <string>            

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a removeIp
```

### ListFreeIps

Additional flags

```
--datasource <string>    
--format <string>        both|values|display_values

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a listFreeIps
```

### ListDedicatedFreeIps

Additional flags

```
--datasource <string>    
--format <string>        both|values|display_values

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a listDedicatedFreeIps

```

### ListSharedFreeIps

Additional flags

```
--datasource <string>    
--format <string>        both|values|display_values

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a listSharedFreeIps
```

### ListBandwidthAndStorage

**Example Usage:**

```
nodeworx -u -c Siteworx -a listBandwidthAndStorage

```

### ListBandwidthAndStorageInMB

**Example Usage:**

```
nodeworx -u -c Siteworx -a listBandwidthAndStorageInMB

```

### ListSiteworxAccounts

**Example Usage:**

```
nodeworx -u -c Siteworx -a listSiteworxAccounts
```

### QuerySiteworxAccounts

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com
--unixuser <string>      newacctc|newiwxma
--account_data <string>  id|status|date_inactive|inactive_msg|billingday|external_id|unixuser|date_created|nickname|email|language|theme|domain|ip|package_name|storage_used|bandwidth_used|uid|gid|reseller_id|opt_storage|opt_bandwidth|opt_email_aliases|opt_email_autoresponders|opt_email_boxes|opt_email_groups|opt_ftp_accounts|opt_mysql_dbs|opt_mysql_db_users|opt_pointer_domains|opt_slave_domains|opt_subdomains|opt_backup|opt_cgi_access|opt_crontab|opt_dns_records|opt_ssl|opt_burstable|opt_save_xfer_logs|all_package_options

```

**Example Usage:**

```
nodeworx -u -c Siteworx -a querySiteworxAccounts
```

## Nodeworx commands regarding backup

### Fullbackup

Additional flags

```
--domains <string>       newiwx.mattjung.net|newacct.com

```

**Example Usage:**

```
nodeworx -u -c Backup -a fullbackup
```

### Restore

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com|secondary.com
--file <string>          

```

**Example Usage:**

```
nodeworx -u -c Backup -a restore

```

### Delete

Additional flags

```
--domain <string>        newiwx.mattjung.net|newacct.com|secondary.com
--backups <string>       

```

**Example Usage:**

```
nodeworx -u -c Backup -a delete
```

## Nodeworx commands regarding the Mail Queue

### SendTestMessage

Additional flags

```
--email <string>         
--subject <string>       
--body <string>          

```

**Example Usage:**

```
nodeworx -u -c MailQueue -a sendTestMessage
```

### QueryQueue

Additional flags

```
--queue <string>         all|remote|local|todo

```

**Example Usage:**

```
nodeworx -u -c MailQueue -a queryQueue

```

### Delete

Additional flags

```
--message_id <integer>   (One per Line)
```

### ListStats (shows the number of messages in each queue)

**Example Usage:**

```
nodeworx -u -c MailQueue -a listStats
```

## Nodeworx command for Cron

### GetCurrentSystemTime

**Example Usage:**

```
nodeworx -u -c Cron -a getCurrentSystemTime

```

### QueryJobs

Additional flags

```
--user <string>          axfrdns|iworx|lwadmin-YEWVZF|newacctc|newiwxma|nfsnobody|root|systuser

```

**Example Usage:**

```
nodeworx -u -c Cron -a queryJobs
```

## Nodeworx commands for SSL

### ListSslCerts

**Example Usage:**

```
nodeworx -u -c Ssl -a listSslCerts
```
