The CompleteFTP CLI uses a subcommand (or multi-level command) style similar to git and openssl. The main command is completeftp.
Help is available for all subcommands via the -h option, so a good way to get started is to simply enter:
completeftp -h
This will show all available top-level commands. Most of these have subcommands. Help for these is also available via the -h option, e.g.
completeftp site -h
CompleteFTP's entire configuration is accessible through a structure referred to as a Configuration Object Model (COM). The objects at the top level are the main types that CompleteFTP deals with namely:
site - configuration of sites within CompleteFTP, including the various protocols SFTP, FTPS, HTTPS, etc.server - configuration of the servers in the systemfolder - configuration of the folders of the virtual file-systemuser - configuration of usersgroup - configuration of groupswebapp - configuration of web-appsextension - configuration of extensions (a.k.a. plug-ins)notification - configuration of email notificationstrigger - configuration of process triggers (scripts and external programs)monitor - configuration of monitoring methodsEach of these is accessible via the top-level command:
completeftp <object>
The COM is essentially an object with properties each of which can be a string, a number, a boolean (true/false), another object with properties, or a set of those values (i.e. an array).
Properties can be view using the show subcommand on various entity types:
For example, the following command will show all the SSH public keys of the default site:
completeftp site show default sshKeys
Objects can be drilled into via dot notation. For example, if you want to see just the 256 curve of the ECDSA key you can use:
completeftp site show default sshKeys.ecdsa.p256
Properties can be specified using the * wildcard, which matches any characters. For example, the following command can be used to show all the SSH properties of a site:
completeftp site show default ssh*
The value of a property can be assigned using an equals sign, i.e. property1=value.
For example, SFTP can be enabled for the user whose user-name is fred as follows:
completeftp user set fred sftpEnabled=true
If an argument has a space in it then the argument should be enclosed in double quotes. For example, if you need to set the fullName property of a user then the argument should be enclosed in double-quotes, i.e.
completeftp user set fred "fullName=Fred Singh"
Sometimes, especially for passwords, it may be preferable to enter the values interactively. To do this, omit the equals sign and the value and you will be prompted for the values interactively when you execute the commands. Passwords will be hidden for asteriskes (`*`).
completeftp user set fred password
siteName and serverNameA lot of commands require a siteName or a serverName. Entering default or . for this argument will yield the first listed server or site, which saves having to rewrite the name.
Some properties are dates. These may be set using the format yyyy-mm-dd. Dates are UTC, so you may sometimes notice a time-difference between the date that's set and the date that's shown.
Some properties are a set of values, also called an array. The values in an array can be accessed individually using angle brackets and zero-based indices, e.g. to get the first value in an array named a you'd use a[0].
The -v (--view) option opens an interactive tree viewer for the COM, making it much easier to understand its structure. This option is available for all commands.
For example, the following command will show all the properties of the default site:
completeftp site show -v
The viewer supports navigation using the arrow and page keys, as well as the mouse. It's recommended to use the view to explore the various COM entities, such as sites, users and folders. This can be done with the following commands:
completeftp site show -v completeftp folder show /Home -v completeftp user show anonymous -v completeftp group show users -v completeftp server show -v
Below is a list of all commands and subcommands. Click on any of them to go straight to the details that follow.
completeftp folder
completeftp user
completeftp group
completeftp site
completeftp webapp
completeftp extension
completeftp server
completeftp notification
completeftp trigger
completeftp monitor
completeftp license
completeftp folderManage folders in the CompleteFTP virtual file system, including adding, removing, listing, and modifying folders and their properties.
Sub-commands: add remove show set list listall move chown chmodcompleteftp folder addAdd a new folder to the virtual file system. This command allows you to create a folder and specify how it maps to the underlying data source, such as a local directory or cloud storage location.
Arguments:completeftp folder removeRemove a folder from the virtual file system. This command removes the specified folder, and optionally its subfolders. The actual data storage is not affected.
Arguments:completeftp folder showDisplay detailed information about a folder in the virtual file system, including its properties and mappings.
Arguments:completeftp folder setModify the properties of an existing folder in the virtual file system. This can include changing its mapping, access permissions, or other attributes.
Arguments:completeftp folder listList the subfolders of a specified folder in the virtual file system. If no path is specified, lists the root folders.
Arguments:completeftp folder listallList all folders in the virtual file system, regardless of their hierarchy.
Options:completeftp folder moveMove a folder to a new location within the virtual file system.
Arguments:completeftp folder chownChange the owner or group of a folder. This modifies the access permissions associated with the folder.
Arguments:completeftp folder chmodSet the permissions of a folder. This command modifies the read, write, and execute permissions for the owner, group, or all users.
Arguments:completeftp userManage users within the CompleteFTP system, including adding new users, modifying existing users, setting password policies, and managing SSH keys.
Sub-commands: passwordpolicy list show set add key mapping home remove 2facompleteftp user passwordpolicyDisplay or configure password policies that apply to internal users. These policies enforce password strength and change requirements.
Sub-commands: show setcompleteftp user passwordpolicy showShow the current password policies. This includes settings like minimum length, complexity requirements, and password expiration.
Object Type: PasswordPolicycompleteftp user passwordpolicy setSet or modify the password policies for internal users. Use this command to enforce stronger passwords or change expiration settings.
Arguments:completeftp user listList all users in the CompleteFTP system. This can include both internal and OS users, depending on your configuration.
Arguments:completeftp user showDisplay detailed information about a specific user, including their settings and permissions.
Arguments:completeftp user setModify properties of an existing user. This can include enabling or disabling the user, changing their access permissions, or updating other settings.
Arguments:completeftp user addAdd a new user to the CompleteFTP system. You can create either an internal user managed by CompleteFTP or an OS user managed by the operating system.
Arguments:completeftp user keyManage SSH public keys associated with a user. This is used for key-based authentication when users connect via SFTP or SCP.
Sub-commands: show add removecompleteftp user key showList the SSH public keys that are currently associated with a specific user.
Arguments:completeftp user key addAdd a new SSH public key to a user's account. This allows the user to authenticate using the corresponding private key.
Arguments:completeftp user key removeRemove an SSH public key from a user's account by specifying the index of the key in the list.
Arguments:completeftp user mappingManage a user's site mapping, which defines how the user interacts with different sites configured in CompleteFTP.
Sub-commands: show setcompleteftp user mapping showDisplay the site mapping details for a specific user, optionally for a specific site.
Arguments:completeftp user mapping setSet or modify the properties of a user's site mapping. This can include enabling or disabling the user on a site, or changing their home folder for that site.
Arguments:completeftp user homeSet or change the home folder for a user on a specific site. The home folder is the default directory the user sees upon logging in.
Arguments:completeftp user removeRemove a user from the CompleteFTP system. This action cannot be undone and will delete all user-specific configurations.
Arguments:completeftp user 2faManage 2-Factor Authentication (2FA) settings for a user.
Sub-commands: enable disable status reset backuppinscompleteftp user 2fa enableEnable 2FA for a user. The user will be prompted to complete setup on their next login.
Arguments:completeftp user 2fa disableDisable 2FA for a user. This removes the 2FA requirement and clears any existing configuration.
Arguments:completeftp user 2fa statusShow whether 2FA is enabled and initialized for a specified user.
Arguments:completeftp user 2fa resetReset a user's 2FA enrollment. The user will be required to set up 2FA again on their next login.
Arguments:completeftp user 2fa backuppinsShow the current one-time backup PINs for a user as a comma-separated string.
Arguments:completeftp groupManage user groups within CompleteFTP. Groups allow you to organize users and assign permissions collectively.
Sub-commands: list show add remove memberlist memberadd memberremovecompleteftp group listList all groups configured in CompleteFTP. This provides an overview of existing groups and the number of members in each.
completeftp group showDisplay detailed information about a specific group or all groups, including their members and any associated permissions or settings.
Arguments:completeftp group addAdd a new group to CompleteFTP. Groups can be used to manage permissions and settings for multiple users at once.
Arguments:completeftp group removeRemove an existing group from CompleteFTP. This action will delete the group but will not affect the user accounts that were members of the group.
Arguments:completeftp group memberlistList all members of a specific group. This shows which users are currently assigned to the group.
Arguments:completeftp group memberaddAdd one or more users to an existing group. This assigns the group's permissions to those users.
Arguments:completeftp group memberremoveRemove one or more users from a group. This revokes the group's permissions from those users.
Arguments:completeftp siteManage sites within the CompleteFTP server. Sites represent different server configurations, including ports, protocols, and security settings.
Sub-commands: list show set add remove cert key ipfilter filenamefilter auth httpheader mimetypecompleteftp site listList all sites configured in the CompleteFTP server. This provides an overview of available sites and their basic properties.
Arguments:completeftp site showDisplay detailed information about a specific site or all sites, including configuration settings and enabled protocols.
Arguments:completeftp site setModify the configuration of an existing site. This can include changing ports, enabling or disabling protocols, and updating security settings.
Arguments:completeftp site addCreate a new site by copying settings from an existing site or starting with default settings. Useful for setting up different configurations for testing or specific client requirements.
Arguments:completeftp site removeDelete an existing site from the CompleteFTP server. This action will remove the site's configuration but will not affect global settings or users.
Arguments:completeftp site certManage the SSL/TLS certificates associated with a site. Certificates are used to secure connections over FTPS and HTTPS protocols.
Sub-commands: import export generatecompleteftp site cert importImport an existing SSL/TLS certificate file for a specified site. Supports formats like PFX or PEM.
Arguments:completeftp site cert exportExport the SSL/TLS certificate associated with a specified site. This can be useful for backup purposes or for importing into another system.
Arguments:completeftp site cert generateGenerate a new self-signed SSL/TLS certificate for a specified site. This is useful for testing or for internal secure communications.
Arguments:completeftp site keyManage the SSH key pairs used by a site for SFTP connections. SSH keys are used for server authentication and secure communication.
Sub-commands: show import removecompleteftp site key showDisplay the public SSH keys for a specified site. This helps verify which keys are currently in use.
Arguments:completeftp site key importImport SSH key pairs from a file for a specified site. This allows you to use existing keys for server authentication.
Arguments:completeftp site key removeRemove SSH key pairs of specified algorithms from a site. This can be used to disable certain key types or replace keys.
Arguments:completeftp site ipfilterManage IP address filtering rules for a site. IP filters control access to the site based on client IP addresses.
Sub-commands: list precedence add remove testcompleteftp site ipfilter listList all IP filter rules configured for a specified site. This shows which IP addresses are allowed or denied access.
Arguments:completeftp site ipfilter precedenceShow or set the rule precedence for IP filtering on a site. Precedence determines whether allow or deny rules take priority.
Arguments:completeftp site ipfilter addAdd a new IP filter rule to a site. This can be used to allow or deny access from specific IP addresses or ranges.
Arguments:completeftp site ipfilter removeRemove an existing IP filter rule from a site. You can specify the rule by host, IP address, or rule ID.
Arguments:completeftp site ipfilter testTest an IP address and optional username against the IP filter rules of a site to determine if access would be allowed or denied.
Arguments:completeftp site filenamefilterManage file name filters for a site. File name filters control which files can be uploaded or downloaded based on their names.
Sub-commands: show set add removecompleteftp site filenamefilter showDisplay the current file name filter settings for a site, including the list of blocked or allowed patterns.
Arguments:completeftp site filenamefilter setModify the file name filter settings for a site. Currently this includes only the 'matchingFilesBlocked' property.
Arguments:completeftp site filenamefilter addAdd a new file name pattern to the site's filter list. Patterns can include wildcards and are used to match file names.
Arguments:completeftp site filenamefilter removeRemove a file name pattern from the site's filter list.
Arguments:completeftp site authManage authentication methods for a site, including built-in authenticators and external authentication profiles like Active Directory or SAML.
Sub-commands: list show set profilecompleteftp site auth listList all authenticators configured for a specified site. This shows which authentication methods are available and their status.
Arguments:completeftp site auth showDisplay properties of a specific authenticator for a site.
Arguments:completeftp site auth setModify properties of a specific authenticator for a site. This can include enabling or disabling the authenticator and updating settings.
Arguments:completeftp site auth profileManage profiles (such as servers or groups) for authenticators that support them. Profiles define specific configurations within an authenticator.
Sub-commands: list show set add removecompleteftp site auth profile listList all profiles for a specified authenticator on a site. Useful for authenticators like Active Directory that support multiple profiles.
Arguments:completeftp site auth profile showDisplay properties of a specific profile for an authenticator on a site.
Arguments:completeftp site auth profile setModify properties of a specific profile for an authenticator on a site.
Arguments:completeftp site auth profile addAdd a new profile to a specified authenticator on a site. Profiles allow for multiple configurations within the same authenticator.
Arguments:completeftp site auth profile removeRemove a specific profile from an authenticator on a site.
Arguments:completeftp site httpheaderManage custom HTTP headers for a site. HTTP headers can be used to control caching, security policies, and other web server behaviors.
Sub-commands: list set removecompleteftp site httpheader listList all custom HTTP headers configured for a site.
Arguments:completeftp site httpheader setAdd a new HTTP header or modify an existing one for a site.
Arguments:completeftp site httpheader removeRemove a custom HTTP header from a site.
Arguments:completeftp site mimetypeManage MIME types for a site. MIME types determine how different file types are handled by clients and servers.
Sub-commands: list set removecompleteftp site mimetype listList all MIME types configured for a site.
Arguments:completeftp site mimetype setAdd a new MIME type or modify an existing one for a site.
Arguments:completeftp site mimetype removeRemove a MIME type association from a site.
Arguments:completeftp webappManage web applications (web-apps) hosted by CompleteFTP. Web-apps allow you to serve dynamic web content or APIs alongside your FTP services.
Sub-commands: list show set add remove mappingcompleteftp webapp listList all web applications configured in CompleteFTP. This provides an overview of available web-apps and their basic properties.
Arguments:completeftp webapp showDisplay detailed information about a specific web application, including its configuration settings and mappings to sites.
Arguments:completeftp webapp setModify the properties of an existing web application. This can include changing the folder path, enabling or disabling the web-app, or updating other settings.
Arguments:completeftp webapp addAdd a new web application to CompleteFTP. You need to specify a name and the folder where the web-app files are located.
Arguments:completeftp webapp removeRemove an existing web application from CompleteFTP. This will delete the web-app's configuration but will not affect the actual files on disk.
Arguments:completeftp webapp mappingManage the mapping of web applications to sites. This defines which sites the web-app is available on and under which URL paths.
Sub-commands: show setcompleteftp webapp mapping showDisplay the site mappings for a specific web-app, optionally for a specific site.
Arguments:completeftp webapp mapping setSet or modify the properties of a web-app's site mapping. This can include changing the URL path or enabling/disabling the mapping.
Arguments:completeftp extensionManage extensions in CompleteFTP. Extensions allow you to extend the functionality of CompleteFTP by adding custom scripts or assemblies.
Sub-commands: list show set addscript registerscript registerassembly remove callcompleteftp extension listList all extensions that are currently registered in CompleteFTP. This includes custom extensions and, optionally, system extensions.
Arguments:completeftp extension showDisplay detailed information about a specific extension, including its type, configuration, and associated scripts or assemblies.
Arguments:completeftp extension setModify the properties of an existing extension. This can include changing its configuration, enabling or disabling it, or updating other settings.
Arguments:completeftp extension addscriptAdd a JSS extension script. The script is read from a file or stdin and stored in the configuration database.
Arguments:completeftp extension registerscriptRegister a JSS extension script file. The path of the file is stored and re-read every time the extension is used.
Arguments:completeftp extension registerassemblyRegister a .NET assembly as an extension. This allows you to use compiled .NET code to extend CompleteFTP's functionality.
Arguments:completeftp extension removeRemove an existing extension from CompleteFTP. This will delete the extension's configuration but will not affect the associated script or assembly files.
Arguments:completeftp extension callExecute a custom command defined by an extension. This allows you to invoke custom functionality provided by the extension from the CLI.
Arguments:completeftp serverManage servers in a CompleteFTP cluster. Clustering allows multiple CompleteFTP servers to share configurations and provide high availability.
Sub-commands: list show set add removecompleteftp server listList all servers that are part of the CompleteFTP cluster. This shows the servers' statuses and key properties.
Arguments:completeftp server showDisplay detailed information about a specific server or all servers in the cluster.
Arguments:completeftp server setModify the configuration of a server in the cluster. This can include changing synchronization settings or server roles.
Arguments:completeftp server addAdd a new server to the CompleteFTP cluster. You need to provide connection details and administrative credentials for both the local and remote servers.
Arguments:completeftp server removeRemove a server from the CompleteFTP cluster. This will stop configuration synchronization with that server.
Arguments:completeftp notificationManage email notifications in CompleteFTP. Email notifications can alert administrators to various events occurring on the server.
Sub-commands: smtp list show set add removecompleteftp notification smtpConfigure the SMTP settings used to send email notifications.
Sub-commands: show setcompleteftp notification smtp showDisplay the current SMTP settings, including server address, port, and authentication details.
Object Type: SmtpSettingscompleteftp notification smtp setSet or modify the SMTP settings for sending email notifications.
Arguments:completeftp notification listList all email notifications configured in CompleteFTP. This shows what events trigger notifications and to whom they are sent.
Arguments:completeftp notification showDisplay detailed information about a specific email notification or all notifications.
Arguments:completeftp notification setModify the properties of an existing email notification. This can include changing the recipient, subject, message, or events that trigger the notification.
Arguments:completeftp notification addAdd a new email notification. You can specify which events trigger the notification and customize the message content.
Arguments:completeftp notification removeRemove an existing email notification from CompleteFTP.
Arguments:completeftp triggerManage process triggers in CompleteFTP. Process triggers allow you to execute external programs or scripts in response to server events.
Sub-commands: processcontrol list show set add removecompleteftp trigger processcontrolConfigure global settings for process control, such as the maximum number of concurrent processes.
Sub-commands: show setcompleteftp trigger processcontrol showDisplay the current process control settings.
Object Type: ProcessSettingscompleteftp trigger processcontrol setSet or modify the process control settings.
Arguments:completeftp trigger listList all process triggers configured in CompleteFTP. This shows which events trigger processes and what actions are taken.
Arguments:completeftp trigger showDisplay detailed information about a specific process trigger or all triggers.
Arguments:completeftp trigger setModify the properties of an existing process trigger. This can include changing the events that trigger it or the process that is executed.
Arguments:completeftp trigger addAdd a new process trigger. You can specify which events trigger the process and the action to take.
Arguments:completeftp trigger removeRemove an existing process trigger from CompleteFTP.
Arguments:completeftp monitorShow or set monitoring settings in CompleteFTP. Monitoring includes logging levels, auditing, and event recording.
Sub-commands: show setcompleteftp monitor showDisplay the current monitoring settings, including logging level and auditing configuration.
Arguments:completeftp monitor setSet or modify the monitoring settings.
Arguments:completeftp licenseManage CompleteFTP trial and production licenses, including activation, requesting activation keys, applying keys, releasing licenses, and viewing license information.
Sub-commands: trial activate release showcompleteftp license trialManage CompleteFTP trial licenses.
Sub-commands: offlinerequest offlineapplycompleteftp license trial offlinerequestGenerate an offline activation request for a trial license.
completeftp license trial offlineapplyApply an offline trial activation key returned by the EnterpriseDT licensing server.
Arguments:completeftp license activateActivate a CompleteFTP license using different methods.
Sub-commands: online offlinerequest offlineapplycompleteftp license activate onlineActivate a license directly using purchase reference, username, and password.
Arguments:completeftp license activate offlinerequestRequest an activation key for a CompleteFTP license using the purchase reference.
Arguments:completeftp license activate offlineapplyApply an activation key to activate a CompleteFTP license.
Arguments:completeftp license releaseRelease this server's CompleteFTP license either online or offline.
Sub-commands: online offlinerequest offlineconfirmcompleteftp license release onlineRelease this server's license directly using username, and password.
Arguments:completeftp license release offlinerequestRequest a deactivation key for this server's CompleteFTP license. Access this URL to obtain a deactivation key.
completeftp license release offlineconfirmConfirm the deactivation using the deactivation key and return confirmation URL that must be accessed to release the activation from the license server.
Arguments:completeftp license showShow detailed information about the current CompleteFTP license.
Object Type: LicenseInfoActiveDirectoryAuthenticatorRepresents the configuration of an Active Directory Authenticator
profiles (Object): The profiles for this active directory.autoCreateHomeOverrides (Boolean): Whether or not to automatically create home directory overrides.enabled (Boolean): Whether this authenticator is enabled.logInAsUser (String): The username to log in as, or null to use the current user.AuditingSettingsSettings related to auditing within CompleteFTP.
enabled (Boolean): Whether auditing is enabled.useRollingFiles (Boolean): Whether to use rolling audit log files.maxRollingFiles (Number): The maximum number of rolling audit log files to keep.AuthenticatorRepresents the base configuration of an authenticator object. The configuration of each particular authenticator is different, and is determined by the extensions that have been installed.
enabled (Boolean): Whether this authenticator is enabled.logInAsUser (String): The username to log in as, or null to use the current user.AuthenticatorManagerProvides a container for the available authenticators within the CompleteFTP configuration. The available authenticators and their configurations are dynamic based on the installed extensions.
saml (SamlAuthenticator): The SAML authenticator settings.database (DatabaseAuthenticator): The database authenticator settings.gateway (GatewayAuthenticator): The gateway authenticator settings.activedirectory (ActiveDirectoryAuthenticator): The ActiveDirectory authenticator settings.ldap (LdapAuthenticator): The LDAP authenticator settings.items (Authenticator[]): An array of the Authenticators.AuthenticatorProfileEncapsulates the settings of a specific authenticator profile, such as a SAML IDP or a remote server for the gateway authenticator
DatabaseAuthenticatorRepresents the configuration of a Database Authenticator
providerName (String): The name of the database provider.connectionString (String): The database connection string.query (String): The database query to run.isPasswordHashed (Boolean): Whether the password is hashed.enabled (Boolean): Whether this authenticator is enabled.logInAsUser (String): The username to log in as, or null to use the current user.EmailNotificationRepresents an email notification in the CompleteFTP configuration.
id (String): The unique ID of the email notification.name (String): The name of the email notification.enabled (Boolean): Whether the email notification is enabled.onError (Boolean): Whether to trigger the notification on errors.onSuccess (Boolean): Whether to trigger the notification on success.pathFilterInverse (Boolean): Whether to invert the path filter.userFilterInverse (Boolean): Whether to invert the user filter.siteFilterInverse (Boolean): Whether to invert the site filter.schedule (String): The schedule of the notification.pathFilter (String): A filter applied to the path to check if this notification should trigger.subject (String): The email subject line.message (String): The email message body.from (String): The sender email address.to (String): The recipient email address(es).rowOrder (Number): The order of this rule.events (String): A comma-separated string of event types that will trigger the notification.sites (String): A comma-separated string of site names on which the notification should trigger.users (String): A comma-separated string of usernames on which the notification should trigger.EventRecordingSettingsSettings related to event recording within CompleteFTP.
enabled (Boolean): Whether event recording is enabled.importAuditing (Boolean): Whether to import auditing events into the event recorder.ExtensionRepresents an extension in the CompleteFTP configuration.
id (String): The unique ID of the extension.type (String): The type of the extension.name (String): The name of the extension.className (String): The class name of the extension.editorClassName (String): The class name of the editor for this extension.assemblyPath (String): The path of the extension's assembly file.configuration (String): The configuration string for the extension.configurationPath (String): The path to the configuration file.createdTime (String): The time the extension was created.modifiedTime (String): The last modified time of the extension.users (String): A comma separated string of user names that have access to this extension.groups (String): A comma separated string of group names that have access to this extension.FileNameFilterManagerManages file name filters for a site.
matchingFilesBlocked (Boolean): Indicates whether to block matching files or not.items (String[]): An array of the Strings.FolderRepresents a folder in the CompleteFTP configuration.
id (String): The unique ID of the folder.inbuilt (Boolean): Whether the folder is an inbuilt folder.hidden (Boolean): Whether the folder is hidden.showRecursiveListing (Boolean): Whether to show recursive listing for this folder.name (String): The name of the folder.createdTime (String): The time the folder was created.modifiedTime (String): The last modified time of the folder.fullPath (String): The full path of the folder.type (String): The type of the folder.mappingPath (String): The mapping path for the folder.mapping (string | object): The mapping configuration object for the folder.hasSubfolders (Boolean): Whether the folder has subfoldersaccess (FolderAccess): The access control for the folder.FolderAccessRepresents access control settings for a folder.
owner (UserFolderPermissions): The owner permissions.group (GroupFolderPermissions): The group permissions.allUsers (WorldFolderPermissions): The all user permissions.inherits (Boolean): Whether this folder inherits permissions from its parent.GatewayAuthenticatorRepresents the configuration of a Gateway Authenticator
profiles (Object): The profiles for the gateway.enabled (Boolean): Whether this authenticator is enabled.logInAsUser (String): The username to log in as, or null to use the current user.GroupRepresents a group in the CompleteFTP configuration.
id (String): The unique ID of the group.name (String): The name of the group.createdTime (String): The time the group was created.modifiedTime (String): The last modified time of the group.inbuilt (Boolean): Indicates if the group is a system group.members (GroupMembershipManager): Manages group members.GroupFolderPermissionsRepresents group permissions settings for a folder.
groupName (String): The group name that owns this folder, or null if this folder inherits from its parent.permissions (String): A comma-separated string of permissions for this folder.GroupMembershipManagerManages the membership of a group.
items (GroupMembership[]): An array of the GroupMemberships.HttpHeaderRepresents an HTTP header.
HttpHeaderManagerManages HTTP headers for a site.
items (HttpHeader[]): An array of the HttpHeaders.IpFilterManagerManages IP filters for a site.
precedence (String): Gets or sets the IP filter precedence ('DenyOverAllow' or 'AllowOverDeny').items (IpFilterRule[]): An array of the IpFilterRules.IpFilterRuleRepresents an IP filter rule.
id (String): The unique ID of the IP filter rule.host (String): The host or IP address or 'all' to apply this filter rule to.action (String): The action for the filter rule ('Allow' or 'Deny').userName (String): The username to apply this rule to.LdapAuthenticatorRepresents the configuration of an LDAP Authenticator
server (String): The server for the LDAP authenticator.userName (String): The user name for the LDAP authenticator.password (String): The password for the LDAP authenticator.query (String): The LDAP query for this authenticator.ssl (Boolean): Whether to use ssl for this authenticator.validate (Boolean): Whether or not to validate the certificates.userMatching (Boolean): Whether or not to use user matching.port (Number): The port to connect to.version (Number): The version of LDAP to use.enabled (Boolean): Whether this authenticator is enabled.logInAsUser (String): The username to log in as, or null to use the current user.LicenseInfoProvides information about the current CompleteFTP license.
edition (String): The edition of the license (e.g., 'Standard', 'Professional').machineID (String): The machine ID associated with the license.licenseID (String): The license ID.isTrial (Boolean): Whether the license is a trial license.activationKey (String): The activation key for the license, or null if not set.expiryDate (String): The expiry date of the license, or null if the license does not expire.licenseType (String): The type of license ('server' or 'corporate').activationType (String): The type of machine id that was used when the activation key was generated.LoggingSettingsSettings related to logging within CompleteFTP.
level (String): The logging level (e.g., 'Debug', 'Info', 'Warning', 'Error').MimeTypeRepresents a MIME type.
MimeTypeManagerManages MIME types for a site.
items (MimeType[]): An array of the MimeTypes.MonitoringSettingsProvides settings for monitoring, logging, and auditing within the CompleteFTP configuration.
logging (LoggingSettings): Settings related to logging.auditing (AuditingSettings): Settings related to auditing.eventRecording (EventRecordingSettings): Settings related to event recording.PasswordPolicyRepresents the password policy settings.
allowChange (Boolean): Allows users to change their passwords.minLength (Number): Minimum password length.mustHaveMixedCase (Boolean): Password must have mixed case characters.mustHaveDigit (Boolean): Password must contain at least one digit.mustHaveSpecialChar (Boolean): Password must contain at least one special character.requireChangeAfterDays (number): Number of days after which a password change is required or null.denyAccessAfterDays (number): Number of days after which access is denied if the password is not changed or null.store (Boolean): (Only if not readOnly) If the password should be stored.ProcessSettingsSettings for the process control.
runSequentially (Boolean): Indicates whether to run the processes sequentially.maxProcesses (Number): The maximum number of concurrent processes to run.runTimeoutMs (Number): The timeout for the processes (in ms).ProcessTriggerRepresents a process trigger rule in the CompleteFTP configuration.
id (String): The unique ID of the process trigger rule.name (String): The name of the process trigger rule.type (String): The type of process to run ('program', 'jssscript').enabled (Boolean): Whether the process trigger rule is enabled.onError (Boolean): Whether to trigger the process on errors.onSuccess (Boolean): Whether to trigger the process on success.pathFilterInverse (Boolean): Whether to invert the path filter.userFilterInverse (Boolean): Whether to invert the user filter.siteFilterInverse (Boolean): Whether to invert the site filter.schedule (String): The schedule of the trigger.pathFilter (String): A filter applied to the path to check if this trigger should run.workingDirectory (String): The working directory for the process.runAsUser (String): The username of the user to run the process as, or null to run as system.runOnSite (String): The site name on which to run the process or null to run on all sites.rowOrder (Number): The order of this rule.events (String): A comma-separated string of event types that will trigger the process.sites (String): A comma-separated string of site names on which the process trigger should run.users (String): A comma-separated string of usernames on which the process trigger should run.processPath (String): The path to the executable, only for process type 'program'.arguments (String): The arguments to pass to the process or script.script (String): The script for type jssScriptSamlAuthenticatorRepresents the configuration of a SAML Authenticator
profiles (Object): The profiles of the SAML authenticator.validateCerts (Boolean): Whether or not to validate the certificates.siteUrl (String): The site url for the SAML authenticator.givenName (String): The given name property for the SAML authenticator.company (String): The company property for the SAML authenticator.emailAddress (String): The email address property for the SAML authenticator.telephoneNumber (String): The telephone number property for the SAML authenticator.surname (String): The surname property for the SAML authenticator.enabled (Boolean): Whether this authenticator is enabled.logInAsUser (String): The username to log in as, or null to use the current user.ServerRepresents a server in the CompleteFTP cluster configuration.
name (String): The name of the server.machineName (String): The machine name of the server.activationKey (String): The activation key of the server.latestMachineID (String): The latest machine ID of the server.ipAddresses (String): The IP addresses of the server.syncPeriod (Number): The sync period for the server.preferredMachineIDType (Number): The preferred machine ID type for the server.akMachineIDType (Number): The machine ID type for the activation key.syncEnabled (Boolean): Whether synchronization is enabled for the server.isPrimary (Boolean): Whether this is the primary server.createdTime (String): The time the server was created.modifiedTime (String): The last modified time of the server.lastContactTime (String): The last contact time of the server or null if the server is not running or is the primary server.connection (Object): The connection details for this server.siteMapping (SiteServerMapping[]): The site mappings for this server.logLevel (String): The log level of the server.SiteRepresents a site in the CompleteFTP configuration.
isAdmin (Boolean): Whether the site is the admin site.pasvIP (String): The IP address for passive FTP connections.pasvWhiteList (String): The white list for passive IP addresses.allowOverWriteOnRename (Boolean): Whether to allow overwriting files when renaming.anonymousEnabled (Boolean): Whether anonymous FTP is enabled.anonymousHTTPEnabled (Boolean): Whether anonymous HTTP is enabled.archiveNavEnabled (Boolean): Whether to allow archive navigation.backslashPathSep (Boolean): Whether to use backslashes as path separators.enabled (Boolean): Whether the site is enabled.ftpEnabled (Boolean): Whether FTP is enabled for the site.ftpsEnabled (Boolean): Whether FTPS is enabled for the site.ftpsImplicitEnabled (Boolean): Whether FTPS implicit is enabled for the site.ftpsVerifyClient (Boolean): Whether to verify the client certificate when using FTPS.hideProductVersion (Boolean): Whether to hide the product version.homeDirIsRoot (Boolean): Whether the home directory is treated as the root.httpBasicAuth (Boolean): Whether to use HTTP basic authentication.httpEnabled (Boolean): Whether HTTP is enabled for the site.httpsEnabled (Boolean): Whether HTTPS is enabled for the site.jssEnabled (Boolean): Whether JSS is enabled for the site.redirectPassiveIPSecureOnly (Boolean): Whether to redirect passive IP only for secure connections.scpEnabled (Boolean): Whether SCP is enabled for the site.sftpEnabled (Boolean): Whether SFTP is enabled for the site.sharingEnabled (Boolean): Whether sharing is enabled for the site.showHiddenFiles (Boolean): Whether to show hidden files.showInaccessibleVirtualFolders (Boolean): Whether to show inaccessible virtual folders.sshForwardingEnabled (Boolean): Whether SSH forwarding is enabled for the site.sshTerminalEnabled (Boolean): Whether SSH terminal access is enabled for the site.system (Boolean): Whether this is a system site.archiveNavSuffix (String): The archive navigation suffix.defaultDomain (String): The default domain for this site.htmlErrorTemplate (String): The HTML error template.htmlListingTemplate (String): The HTML listing template.name (String): The name of the site.welcomeMessage (String): The welcome message for the site.label (String): The label of the site.anonymousMaxConnections (Number): The maximum number of anonymous connections.autoBanDuration (Number): The duration of the autoban.autoBanTriggerCount (Number): The number of autoban triggers.autoBanTriggerPeriod (Number): The autoban trigger period.maxConnections (Number): The maximum number of connections.maxConnectionsHTTP (Number): The maximum number of HTTP connections.maxConnectionsPerUser (Number): The maximum number of connections per user.maxLoginAttempts (Number): The maximum number of login attempts.pasvPortMax (Number): The maximum passive port.pasvPortMin (Number): The minimum passive port.portFTP (Number): The FTP port.portFTPSImplicit (Number): The FTPS implicit port.portHTTP (Number): The HTTP port.portHTTPS (Number): The HTTPS port.portSFTP (Number): The SFTP port.timeoutIdle (Number): The idle timeout.timeoutLogin (Number): The login timeout.timeoutPassiveWait (Number): The passive wait timeout.timeoutStalled (Number): The stalled timeout.listingFormat (String): The format of the file listing.encoding (String): The encoding for the site.readOnly (Boolean): Sets the site as read only.fileEncryptionMode (String): The file encryption mode for the site.minimumSSLVersion (String): The minimum SSL version supported by the site (none, ssl3, tls1, tls11, tls12, tls13).sshAuthMethods (String): A comma separated string of SSH authentication methods.sshCipher (String): A comma separated string of SSH ciphers.sshCompression (String): A comma separated string of SSH compression methods.sshMAC (String): A comma separated string of SSH MAC methods.sshKeyAlgorithm (String): A comma separated string of SSH key algorithms.sshKeyExchange (String): A comma separated string of SSH key exchange methods.sslCipherSuites (String): A comma separated string of SSL cipher suites.timeoutHTTP (Number): The HTTP timeout.serverMapping (SiteServerMapping[]): The server mapping for this site.createdTime (String): The time the site was created.modifiedTime (String): The last modified time of the site.sshKeys (SshKeys): The SSH key pairs for the site.sslCertificate (SiteSslCertificate): The SSL certificate for the site.defaultWebApp (String): Gets or sets the default web app name.fileNameFilter (FileNameFilterManager): The file name filter settings for the site.ipFilter (IpFilterManager): The IP filter settings for the site.authenticators (AuthenticatorManager): The authenticators for the site.httpHeaders (HttpHeaderManager): The HTTP headers for the site.mimeTypes (MimeTypeManager): The MIME types for the site.homePath (String): The path of the home folder of the site.allowedHostNames (String): Comma-separated list of allowed hostnames (may include wildcards, *), e.g. mydomain, my.domain, *.mydomain.SiteServerMappingRepresents a mapping of a site to a server.
name (String): The name of the server.enabled (Boolean): Whether the site is enabled on the server.ftpInterfaces (String): The FTP interfaces for this server mapping.sftpInterfaces (String): The SFTP interfaces for this server mapping.httpInterfaces (String): The HTTP interfaces for this server mapping.SiteSshEcdsaKeysManages ECDSA SSH key pairs for a site.
p256 (String): The ECDSA P256 public key string, or null if not set.p384 (String): The ECDSA P384 public key string, or null if not set.p521 (String): The ECDSA P521 public key string, or null if not set.SiteSslCertificateRepresents an SSL certificate for a site.
commonName (String): The common name of the certificate.organization (String): The organization of the certificate.organizationalUnit (String): The organizational unit of the certificate.locality (String): The locality of the certificate.state (String): The state of the certificate.country (String): The country of the certificate.subjectAltName (String): The Subject Alternative Name (SAN) of the certificate.serialNumber (String): The serial number of the certificate.thumbprint (String): The thumbprint of the certificate.validFrom (String): The start date for which the certificate is valid.validTo (String): The end date for which the certificate is valid.keySize (Number): The key size of the certificate.SiteUserMappingRepresents a user's mapping to a site.
siteName (String): The name of the site.enabled (Boolean): Whether the mapping is enabled.homeFolder (String): The path to the user's home folder for the site, or null if not set.homeWebApp (String): Gets or sets the home web app for this site mapping or null if not set.SiteUserMappingManagerManages site mappings for a user.
items (SiteUserMapping[]): An array of the SiteUserMappings.SiteWebAppMappingRepresents the mapping of a web app to a site.
siteName (String): The name of the site.enabled (Boolean): Whether the site is enabled for the web app.urlPath (String): The url path for this web app on this site.SmtpSettingsRepresents SMTP settings for sending email notifications.
host (String): The SMTP host address.port (Number): The SMTP port number.userName (String): The user name to authenticate with the SMTP server.password (String): The password to authenticate with the SMTP server.enableSSL (Boolean): Whether to use SSL for the SMTP connection.defaultFromAddress (String): The default sender email address.SshKeysManages SSH key pairs for a site.
dsa (String): The DSA public key string, or null if not set.rsa (String): The RSA public key string, or null if not set.ed25519 (String): The ED25519 public key string, or null if not set.ecdsa (SiteSshEcdsaKeys): The ECDSA public key strings.SshPublicKeyRepresents an SSH public key.
SshPublicKeysManagerManages SSH public keys for a user.
items (SshPublicKey[]): An array of the SshPublicKeys.UserRepresents a user in the CompleteFTP configuration.
id (String): The unique ID of the user.type (String): The authentication type ('os' or 'internal').inbuilt (Boolean): Whether the user is an inbuilt user or not.userName (String): The user's username.fullName (String): The user's full name.description (String): The user's description.email (String): The user's email address.sshTerminalShell (String): The user's SSH terminal shell.passwordHash (String): The hash of the user password, or null if not set.enabled (Boolean): Whether the user is enabled.ftpEnabled (Boolean): Whether FTP is enabled for the user.ftpsEnabled (Boolean): Whether FTPS is enabled for the user.homeDirIsRoot (Boolean): Whether the home directory is treated as the root.httpEnabled (Boolean): Whether HTTP is enabled for the user.httpsEnabled (Boolean): Whether HTTPS is enabled for the user.jssEnabled (Boolean): Whether JSS is enabled for the user.reportDecryptedSize (Boolean): Whether to report the decrypted size.scpEnabled (Boolean): Whether SCP is enabled for the user.sftpEnabled (Boolean): Whether SFTP is enabled for the user.sshForwardingEnabled (Boolean): Whether SSH forwarding is enabled for the user.sshTerminalEnabled (Boolean): Whether SSH terminal access is enabled for the user.sharingEnabled (Boolean): Whether sharing is enabled for the user.twoFactorAuthEnabled (Boolean): Whether two-factor authentication is enabled for the user.quotaSpeedDownload (Number): The user's download speed quota.quotaSpeedUpload (Number): The user's upload speed quota.quotaStorage (Number): The user's storage quota.createdTime (String): The time the user was created.modifiedTime (String): The last modified time of the user.passwordChangeTime (String): The last time the password was changed.expiryDate (String): User expiry date or null if not set.password (String): (Write-only, only for internal users) Allows setting or retrieving the password for internal users. (Getting the password requires it to be decrypted).sshAuthMethods (String): Comma-separated string of allowed SSH authentication types.filesEncryptedAtRest (Boolean): Indicates whether files are encrypted at rest.accessControl (String): Gets or sets the access control.readOnly (Boolean): Sets the user as read only.siteMapping (SiteUserMappingManager): Manages site mappings for the user.sshPublicKeys (SshPublicKeysManager): Manages the user's SSH public keys.UserFolderPermissionsRepresents user permissions settings for a folder.
userName (String): The username that owns this folder, or null if this folder inherits from its parent.permissions (String): A comma-separated string of permissions for this folder.WebAppRepresents a web application in the CompleteFTP configuration.
id (String): The unique ID of the web application.name (String): The name of the web application.folderPath (String): The full path of the folder that contains the web application.system (Boolean): Indicates if the web application is a system web application.createdTime (String): The time the web application was created.modifiedTime (String): The last modified time of the web application.siteMapping (SiteWebAppMapping[]): The site mappings for this web app.WorldFolderPermissionsRepresents world permissions settings for a folder.
permissions (String): A comma-separated string of permissions for this folder.StringAny sequence of printable characters. If this includes a space then the whole argument must be inside double quotes.
NumberAny integer number.
BooleanMust be either true or false.
DateA date of the format, yyyy-mm-dd or yyyy-mm-ddThh:mm:ss.