openapi: 3.2.0
info:
contact:
email: cs@cpanel.net
name: WebPros International, LLC
url: https://cpanel.net/support/
description: WHM API.
license:
name: cPanel License
url: https://cpanel.net/legal-notices/
termsOfService: https://cpanel.net/legal-notices/
title: WHM Server Administration API
version: 11.137.9999.106
x-api-evangelist-provenance: 'Harvested verbatim from cPanel''s developer portal on 2026-09-05 via the MCP tool get-full-api-description at https://api.docs.cpanel.net/mcp. ONE mechanical change was made before storage: example values containing PEM private-key or certificate blocks, and AWS-access-key-shaped example strings, were replaced with REDACTED_* placeholders so the file can be stored in a public git repository without tripping secret scanning. No path, operation, parameter, schema or description was altered, added or removed.'
servers:
- description: A server running WHM.
url: https://{host}:{port}/json-api
variables:
host:
default: whm-server.tld
description: The hostname of a server running WHM.
port:
default: '2087'
description: The WHM port.
security:
- BasicAuth: []
tags:
- description: The Server Administration module for WHM API 1.
name: Server Administration
paths:
/add_configclusterserver:
post:
description: 'This function adds a server to a configuration cluster. The function''s return data appears in
the `metadata` section of its output.
We recommend that you run this function as a `POST` request with SSL enabled:
* The length of the remote access key may cause problems if you run the function with the `GET`
method (for example, a URL in your browser).
* You risk security problems if you enter a remote access key through the `GET` method.
**Important:**
* Run this function as a `root`-level user on the server that you wish to use as the parent server.
* If you log in to a configuration cluster server that is **not** the parent server, **nothing**
will indicate that the server is part of a configuration cluster. You can **only** view and modify
this information from the parent server.'
operationId: ClusterServer-add_configclusterserver
parameters:
- description: A truncated version of the server's remote access key.
in: query
name: key
required: true
schema:
example: d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0
type: string
- description: The remote configuration cluster server's name.
in: query
name: name
required: true
schema:
example: example.com
type: string
- description: The username for the server's `root`-level account.
in: query
name: user
required: true
schema:
example: root
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: add_configclusterserver
type: string
name:
description: The remote configuration cluster server's name.
example: example.com
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
signature:
description: A truncated version of the server's remote access key.
example: d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0
type: string
user:
description: The username for the server's `root`-level account.
example: root
type: string
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Add configuration cluster server
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n add_configclusterserver \\\n name='example.com' \\\n user='root' \\\n key='d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/add_configclusterserver?api.version=1&name=example.com&user=root&key=d0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0%3ad0
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.44'
/configurebackgroundprocesskiller:
get:
description: This function configures the server's background process killer.
operationId: Sys-configurebackgroundprocesskiller
parameters:
- description: 'A process to kill in the `/usr/local/cpanel/etc/sym` directory.
**Note:**
To enable the background killer for multiple processes, duplicate or increment the parameter name.
For example, `processes_to_kill`, `processes_to_kill-0`, and `processes_to_kill-1`.'
examples:
multiple:
summary: Kill multiple processes.
value: eggdrop-0, eggdrop-1, eggdrop-2
single:
summary: Kill a single process.
value: eggdrop
in: query
name: processes_to_kill
required: true
schema:
type: string
- description: 'Unaffected users. If you do not specify a value, the function affects all of the users on the server.
**Note:**
To trust multiple users, duplicate or increment the parameter name.
For example, `trusted_users`, `trusted_users-0`, and `trusted_users-1`.'
in: query
name: trusted_users
required: false
schema:
example: user
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: configurebackgroundprocesskiller
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update background process stopper
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n configurebackgroundprocesskiller \\\n processes_to_kill='eggdrop'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/configurebackgroundprocesskiller?api.version=1&processes_to_kill=eggdrop
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/configureservice:
get:
description: 'This function enables or disables a service and its monitoring.
**Note:**
If the user only possesses the `clustering`
Access Control List (ACL),
then this function can only act on the `named` service.'
operationId: Services-configureservice
parameters:
- description: 'The service to configure. For more information about each service, read our
[*Service Manager*](https://go.cpanel.net/whmdocsServiceManager)
documentation.'
in: query
name: service
required: true
schema:
enum:
- apache_php_fpm
- cpanel-dovecot-solr
- cpanel_php_fpm
- cpanellogd
- cpdavd
- cphulkd
- cpsrvd
- crond
- dnsadmin
- exim
- exim-altport
- ftpd
- httpd
- imap
- ipaliases
- lmtp
- mailman
- mysql
- named
- nscd
- p0f
- pop
- postgresql
- queueprocd
- rsyslogd
- spamd
- sshd
example: mysql
type: string
- description: 'Whether to enable the service.
* `1` — Enable.
* `0` — Disable.
If you do not use this parameter, the function will **not** change
the enabled status of the service.
**Warning:**
Do **not** use this function to disable the `cpsrvd` service.'
in: query
name: enabled
required: false
schema:
enum:
- 0
- 1
example: 1
type: integer
- description: 'A port or list of comma-separated ports on which Exim will listen for
inbound connections.
**Note:**
The function **only** uses this parameter if you set `exim-altport` as
the `service` parameter''s value.'
in: query
name: exim-altportnum
required: false
schema:
default: 26
example: 26, 5000, 6000
type: string
- description: 'Whether to monitor the service in WHM''s
[*Service Status*](https://docs.cpanel.net/whm/server-status/service-status/)
interface (*WHM >> Home >> Server Status >> Service Status*).
* `1` — Monitor.
* `0` — Do **not** monitor.
If you do not use this parameter, the function will **not** change the
monitoring status of the service.'
in: query
name: monitored
required: false
schema:
enum:
- 0
- 1
example: 1
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: configureservice
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: Enabled monitoring for mysql.
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Enable or disable a service and its monitoring
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n configureservice \\\n service='mysql'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/configureservice?api.version=1&service=mysql
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.38'
/create_user_session:
get:
description: 'This function creates a new temporary user session for a specified service.
This allows users with WHM access to log in to third-party applications
(for example, billing systems) without storing the account password.
**Note:**
* The system destroys the temporary session after 15 minutes of inactivity.
* For more information about the Single Sign On feature, read our
Guide to API Authentication
documentation.'
operationId: Session-create_user_session
parameters:
- description: The session's service.
in: query
name: service
required: true
schema:
enum:
- cpaneld
- whostmgrd
- webmaild
example: cpaneld
type: string
- description: The session's cPanel account username or a valid email address.
in: query
name: user
required: true
schema:
example: user@example.com
type: string
- description: 'The cPanel or WHM application to which the session will link. This
parameter defaults to a blank string, which redirects the user to the
cPanel
[*Home*](https://docs.cpanel.net/cpanel/the-cpanel-interface/the-cpanel-interface/)
interface.
* A valid application name, to link the session to an application.
* An invalid application name, to create the session but **not** link
it to an application.'
in: query
name: app
required: false
schema:
enum:
- Backups_Home
- Calendar_Configure
- ContactInfo_Change
- Cron_Home
- Database_MySQL
- Database_phpMyAdmin
- Domains_AddonDomains
- Domains_SubDomains
- Email_AccountLevelFiltering
- Email_Accounts
- Email_Archive
- Email_Authentication
- Email_AutoResponders
- Email_BoxTrapper
- Email_DefaultAddress
- Email_DeliveryReport
- Email_Forwarders
- Email_GreyListing
- Email_MailingLists
- Email_MX
- Email_SpamFilter
- Email_UserLevelFiltering
- FileManager_Home
- Locale_Change
- Password_Change
- Site_Software
- Site_Software_*
- Stats_AWStats
- WHMCS_billing
- add_a_dns_zone
- add_an_a_entry_for_your_hostname
- add_a_new_ip_address
- add_a_package
- additional_mysql_access_hosts
- add_remove_recognized_ip_addresses
- apache_configuration
- apache_mod_userdir_tweak
- apache_status
- api_shell
- api_tokens
- apps_managed_by_appconfig
- assign_ipv6_address
- background_process_killer
- backup_configuration
- backup_restoration
- backup_system_migration
- backup_user_selection
- basic_webhost_manager_setup
- blocker
- change_account_contact_email
- change_hostname
- change_log
- change_multiple_sites_ip_addresses
- change_mysql_user_password
- change_ownership_of_an_account
- change_ownership_of_multiple_accounts
- change_root_password
- change_sites_ip_address
- cloudlinux_lve_manager
- compiler_access
- configuration_cluster
- configure_application_locales
- configure_cpanel_analytics
- configure_cpanel_cron_jobs
- configure_postgresql
- configure_remote_service_ips
- configure_security_policies
- contact_manager
- convert_addon_domain_to_account
- copy_a_locale
- copy_an_account_from_another_server_with_an_account_password
- cpanel_development_forum
- cpanel_log_rotation_configuration
- cpanel_plugin_file_generator
- cpanel_web_disk_configuration
- cpanel_web_services_configuration
- cphulk_brute_force_protection
- create_a_new_account
- create_support_ticket
- customization
- daily_process_log
- database_map_tool
- delete_a_dns_zone
- delete_a_locale
- delete_a_package
- directoryindex_priority
- dns_cluster
- dns_server
- easyapache_4
- edit_a_locale
- edit_a_package
- edit_backup_mx_hosts
- edit_blacklisted_smtp_ips
- edit_dns_zone
- edit_mx_entry
- edit_only_verify_recipient_smtp_hosts
- edit_questions_and_answers
- edit_reseller_name_servers_and_privileges
- edit_sender_verification_bypass_ips
- edit_system_mail_preferences
- edit_trusted_smtp_ips
- edit_zone_templates
- email_all_resellers
- email_all_users
- email_deliverability
- enable_dkim_and_spf_globally
- exim_configuration_manager
- feature_manager
- file_and_directory_restoration
- forceful_server_reboot
- force_password_change
- ftp_server_configuration
- ftp_server_proftpd_pureftpd
- ftp_server_selection
- generate_an_ssl_certificate_and_signing_request
- global_configuration
- graceful_server_reboot
- grant_cpanel_support_access
- greylisting
- host_access_control
- http_server_apache
- ico-security-advisor
- imap_server
- include_editor
- initial_quota_setup
- install_an_rpm
- install_an_ssl_certificate_on_a_domain
- install_a_perl_module
- install_a_perl_module_process
- ip_migration_wizard
- ipv6_ranges
- legacy_backup_configuration
- legacy_language_file_upload
- legacy_restore_backups
- legacy_restore_multiple_backups
- legacy_restore_multiple_backups_confirmation
- limit_bandwidth_usage
- list_accounts
- list_parked_domains
- list_subdomains
- list_suspended_accounts
- locale_editor
- locale_xml_download
- locale_xml_upload
- log_rotation
- mailbox_conversion
- mail_delivery_reports
- mailing_list_manager_mailman
- mail_queue_manager
- mailserver_configuration
- mail_server_exim
- mail_troubleshooter
- manage_account_suspension
- manage_autossl
- manage_compiler_group
- manage_custom_rbls
- manage_databases
- manage_database_users
- manage_demo_mode
- manage_external_authentication
- manage_external_authentication_providers
- manage_external_authentication_users
- manage_hooks
- manage_mysql_profiles
- manage_plugins
- manage_resellers_ip_delegation
- manage_resellers_shared_ip
- manage_roots_ssh_keys
- manage_services_ssl_certificates
- manage_shell_access
- manage_ssl_hosts
- manage_wheel_group_users
- market_provider_manager
- memory_usage_restrictions
- modify_an_account
- modify_cpanel_whm_news
- modify_upgrade_multiple_accounts
- modsecurity_configuration
- modsecurity_tools
- modsecurity_vendors
- module_installers
- multiphp_ini_editor
- multiphp_manager
- mysql_mariadb_upgrade
- mysql_root_password
- nameserver_record_report
- nameserver_selection
- non_standard_locale_configuration
- park_a_domain
- password_modification
- password_strength_configuration
- perform_a_dns_cleanup
- php_fpm_service_for_apache
- phpMyAdmin
- piped_log_configuration
- process_manager
- purchase_and_install_an_ssl_certificate
- quota_modification
- raw_apache_log_download
- raw_ftp_log_download
- rearrange_an_account
- rebuild_rpm_database
- rebuild_the_ip_address_pool
- remote_access_key
- repair_a_mysql_database
- repair_mailbox_permissions
- reseller_center
- reserved_ips_editor
- reset_account_bandwidth_limit
- reset_a_dns_zone
- reset_a_mailman_password
- reset_resellers
- resolver_configuration
- restore_a_full_backup_cpmove_file
- restore_modules_summary
- review_transfers_and_restores
- security_questions
- server_information
- server_profile
- server_time
- service_manager
- service_status
- setup_edit_domain_forwarding
- set_zone_time_to_live_ttl
- shell_fork_bomb_protection
- show_accounts_over_quota
- show_current_disk_usage
- show_current_running_processes
- show_edit_reserved_ips
- show_ip_address_usage
- show_mysql_processes
- show_or_delete_current_ip_addresses
- show_reseller_accounts
- skeleton_directory
- smtp_restrictions
- software_development_kit
- spamd_startup_configuration
- sql_server_mysql
- sql_server_pgsql
- ssh_password_authorization_tweak
- ssh_server_openssh
- ssl_storage_manager
- statistics_software_configuration
- support_center
- synchronize_dns_records
- system_update
- task_queue_monitor
- terminal
- terminate_accounts
- theme_manager
- traceroute_enable_disable
- transfer_tool
- tweak_settings
- two_factor_authentication
- unsuspend_bandwidth_exceeders
- update_database_map
- update_database_map_process
- update_preferences
- update_server_software
- upgrade_downgrade_an_account
- upgrade_to_latest_version
- view_available_locales
- view_bandwidth_usage
- view_mail_statistics_summary
- view_relayers
- view_reseller_usage_and_manage_account_status
- view_sent_summary
- web_template_editor
example: Backups_Home
type: string
- description: The session's security token.
in: query
name: cp_security_token
required: false
schema:
example: cpsess1234567890
type: string
- description: 'The session''s locale. This parameter defaults to the *Server Locale* setting in WHM''s
[*Tweak Settings*](https://docs.cpanel.net/whm/server-configuration/tweak-settings/#system)
interface (*WHM >> Home >> Server Configuration >> Tweak Settings*).
**Note:**
* If you specify a locale, the server sends a cookie to your browser with
that locale setting. The cookie expires after one year.
* Users can change the locale with the language options at the bottom of
the login interface.'
in: query
name: locale
required: false
schema:
example: fr
type: string
- description: 'The hostname or IP address for the function to use in the `url`
return. This parameter''s value defaults to the server''s hostname.'
in: query
name: preferred_domain
required: false
schema:
example: example.com
type: string
- description: 'The prompt token to pre-populate the user''s website-generation goals
when logging into the Nova interface.
**Note:**
* This value must be base64-encoded.
* Maximum decoded length is 5000 characters.'
in: query
name: promptToken
required: false
schema:
example: SSB3YW50IHRvIGNyZWF0ZSBhIHJlc3RhdXJhbnQgd2Vic2l0ZQ==
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
cp_security_token:
description: The session's security token.
example: /cpsess1234567890
type: string
expires:
description: When the security token expires, in Unix time format.
example: 1401993893
format: unix_timestamp
type: integer
service:
description: The security token's service.
example: cpaneld
type: string
session:
description: 'The session ID.
**Note:**
If the `app` parameter contains a valid application, the URL **also**
contains the application information.'
example: username:RFw6MUp9S8sRwTSgqaUJWUCq8ZQg2Zkopx5KaTHRNQXBfT3n8xvfBEF9JJC3iiwa
type: string
url:
description: 'The security token''s URL. The URL contains the values of
the `preferred_domain`, `session`, and `app` parameters.'
example: https://example.com:2083/cpsess1234567890/login/?session=username:RFw6MUp9S8sRwTSgqaUJWUCq8ZQg2Zkopx5KaTHRNQXBfT3n8xvfBEF9JJC3iiwa&locale=fr
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: create_user_session
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: Created session
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Create a temporary user session
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n create_user_session \\\n user='user@example.com' \\\n service='cpaneld'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/create_user_session?api.version=1&user=user%40example.com&service=cpaneld
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.40'
/delete_configclusterserver:
get:
description: 'This function removes a server from a configuration cluster. The function''s return
data appears in the `metadata` section of its output.
**Important:**
If you log in to a configuration cluster server that is **not** the parent server,
**nothing** will indicate that the server is part of a configuration cluster. You can
**only** view and modify this information from the parent server.'
operationId: ClusterServer-delete_configclusterserver
parameters:
- description: The hostname or IP address of a remote configuration cluster server.
in: query
name: name
required: true
schema:
example: example.com
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: delete_configclusterserver
type: string
name:
description: The remote configuration cluster server's name.
example: example.com
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Delete server from configuration cluster
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n delete_configclusterserver \\\n name='example.com'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/delete_configclusterserver?api.version=1&name=example.com
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.44'
/enable_monitor_all_enabled_services:
get:
description: This function enables monitoring for all enabled services.
operationId: Services-enable_monitor_all_enabled_services
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
services:
description: An array of objects that contains information about a service and its monitoring status.
items:
properties:
monitored:
description: 'Whether the system monitors the service.
- `1` - Monitored.
- `0` - Not monitored.'
enum:
- 0
- 1
example: 1
type: integer
service:
description: The service's name. A valid service name.
example: cphulkd
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: enable_monitor_all_enabled_services
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '- `1` - Success
- `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Enable monitoring for all services
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n enable_monitor_all_enabled_services\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/enable_monitor_all_enabled_services?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: 11.52.0.8
/fetch_connected_application:
post:
description: 'Retrieve the connection information related to a application that has been granted
access to this server. This data may include any number of properties, but its
primary purpose is to associate API tokens and public/private key pairs and similar
resources with a specific connected application.'
operationId: ConnectedApplications-fetch_connected_application
parameters:
- description: The name of the connected application.
in: query
name: name
required: true
schema:
example: application-1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
data:
additionalProperties: {}
description: Data associated with the connected application. There are a few predefined elements, but any additional data may be stored here as well.
properties:
jwt:
additionalProperties: {}
description: The contents of a JSON Web Token used during registration, or updates.
example:
callback_url: https://application-1.com/api/si/servers/registrations/callback,
challenge: ddd13a92-d55e-4818-a960-9776ede6cd74,
email: john.doe@email.example,
exp: 1401912171,
ips:
- 1.1.1.1
- 2.2.2.2
iss: https://application-1.com
iss_desc: Sample application
name: John Doe,
redirect_url: https://application-1/redirect,
scope:
- admin:users,
- admin:resellers
- admin:domains
state: xyz
type: object
private_key:
description: The name of the private key, if any, used by encryption, signing, or other security schemes used when communicating with this connected application.
example: FEF6253E6A122532430D
type: string
privileges_granted:
description: The actual privileges granted by the user.
example:
- list-accts
- list-resellers
- create-user-session
- acct-summary
- connected-applications
type: array
items:
type: string
public_key:
description: The name of the public key, if any, sent to the connected application during registration.
example: AAF6253E6A1225324305623EE
type: string
token_name:
description: The name of the API token, if any, sent to the connected application to allow that application to make API calls on this server.
example: Application 1 API Token
type: string
type: object
name:
description: The name of the connected application.
example: application-1
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: fetch_connected_application
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Fetch application connection information
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n fetch_connected_application \\\n name='application-1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/fetch_connected_application?api.version=1&name=application-1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '98'
/force_dedistribution_from_node:
get:
description: 'This function converts cPanel accounts that use a given
child node
to use the local server instead.
Unlike the WHM API 1 `modifyacct` API call, this API does **not**
transfer users’ data from the child node as part of the conversion.
This API is useful for emergency repairs if, for example, a child
node goes permanently offline while accounts still use it.
**Warning:**
Because this API does not transfer users’ data from the child node,
all converted users will lose data. You should **only** call this API
as a last resort.'
operationId: Cpanel-force_dedistribution_from_node
parameters:
- description: 'The child node’s alias (friendly name). This is the value passed in the
WHM API 1 `link_server_node_with_api_token` function’s `alias` parameter.'
in: query
name: node_alias
required: true
schema:
example: mailalias
type: string
- description: 'The usernames of the
[distributed cPanel accounts](https://go.cpanel.net/cPanelGlossary#distributed-cpanel-account)
to convert.'
in: query
name: user
required: true
schema:
example:
- username
- username1
items:
type: string
type: array
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
log:
description: Log entries that indicate the conversion’s progress.
items:
properties:
contents:
description: The message content.
example: Converting “username1” …
type: string
indent:
description: The log message’s indent level.
example: 0
minimum: 0
type: integer
type:
description: 'The log level of the message.
* `success` – A success message.
* `out` – An informational message.
* `warn` – A warning message.
* `error` – An error message.'
enum:
- success
- out
- warn
- error
example: success
type: string
type: object
type: array
user_info:
description: Information about each newly-converted cPanel account.
items:
properties:
username:
description: The cPanel account’s username.
example: username1
format: username
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: force_dedistribution_from_node
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Repair distributed accounts with data loss
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n force_dedistribution_from_node \\\n node_alias='mailalias' \\\n user='username' user='username1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/force_dedistribution_from_node?api.version=1&node_alias=mailalias&user=username&user=username1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '94'
/get_all_contact_importances:
get:
description: 'This function lists the importance of all application events in
WHM''s
*Contact Manager*
interface (*WHM >> Home >> Server Contacts >> Contact Manager*).'
operationId: Contact-get_all_contact_importances
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
importances:
description: An array of objects containing event importance information.
items:
properties:
app:
description: The cPanel & WHM module's name.
example: wwwacct
type: string
event:
description: 'The event''s name.
**Note:**
An asterisk character (`*`) represents all events in the module.'
example: '*'
type: string
importance:
description: 'The importance of the contact event:
* `1` — High.
* `2` — Medium.
* `3` — Low.
* `0` — Disabled.'
example: 0
type: integer
name:
description: 'The contact event''s name:
* `High`
* `Medium`
* `Low`
* `Disabled`'
example: High
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_all_contact_importances
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return Contact Manager event importance settings
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_all_contact_importances\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_all_contact_importances?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/get_api_calls:
get:
description: 'This function returns the cPanel API 1 functions that the system called on specific dates.
This is useful, for example, to check whether your system calls any cPanel API 1 functions.
**Important:**
The function **only** returns cPanel API 1 functions. We deprecated cPanel API 1 and plan
to remove those functions at a later date. For more information, read our
Guide to Replacing cPanel API 1 Functions with UAPI Equivalents
documentation.'
operationId: Sys-get_api_calls
parameters:
- description: 'The cPanel API 1 function to query.
**Note:**
`cpapi1` is the **only** possible value.'
in: query
name: type
required: false
schema:
default: cpapi1
example: cpapi1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
result:
items:
properties:
count:
description: 'The total number of times that the system called
the function on the day in the `timestamp` return.'
example: 200000
type: integer
entry:
description: 'The cPanel API 1 module and function that the system executed.
For a complete list of cPanel API 1 functions, read our
[Guide to cPanel API 1](https://go.cpanel.net/cpanelapi1)
documentation.'
example: Email::printdomainoptions
type: string
timestamp:
description: 'The date that the system called the function, in
[Unix time format](https://wikipedia.org/wiki/Unix_time).'
example: 1548828000
format: unix_timestamp
type: integer
type: array
metadata:
properties:
command:
description: The method name called.
example: get_api_calls
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return deprecated cPanel API 1 functions by date
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_api_calls\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_api_calls?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/get_api_pages:
get:
description: 'This function returns the daily interface use of cPanel API 1 functions. Use this function to find out which API calls your custom interfaces or third-party plugins use.
**Important:**
The function *only* returns cPanel API 1 functions. We *deprecated* cPanel API 1 and plan to remove those functions at a later date. For more information, read our Guide to Replacing cPanel API 1 Functions with UAPI Equivalents documentation.'
operationId: Sys-get_api_pages
parameters:
- description: The cPanel API type to query.
in: query
name: type
required: false
schema:
default: cpapi1
enum:
- cpapi1
example: cpapi1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
count:
description: The total number of times that the system called the function on the day in the `timestamp` return.
example: 200000
minimum: 1
type: integer
entry:
description: The path to the file where the function executes.
example: /usr/local/cpanel/base/frontend/jupiter/plugin1/index.html.tt
type: string
timestamp:
description: "The date that the system called the function.\n\n**Note:**\n\n The time portion of this value is arbitrary. Only the date is valid."
example: 1548828000
format: unix_timestamp
type: integer
type: object
metadata:
properties:
command:
description: The method name called.
example: get_api_pages
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return deprecated cPanel API 1 functions
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_api_pages\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_api_pages?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/get_appconfig_application_list:
get:
description: This function lists registered AppConfig applications.
operationId: Sys-get_appconfig_application_list
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
cpanel:
description: An array of objects representing the values set for application installed for cPanel.
items:
$ref: '#/components/schemas/AppConfig'
type: array
webmail:
description: An array of objects representing the values set for application installed for Webmail.
items:
$ref: '#/components/schemas/AppConfig'
type: array
whostmgr:
description: An array of objects representing the values set for application installed for WHM.
items:
$ref: '#/components/schemas/AppConfig'
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_appconfig_application_list
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: Got application list
type: string
result:
description: '* `1` - Success.
* `0` - Failed. Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return registered applications
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_appconfig_application_list\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_appconfig_application_list?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: 11.38.1
/get_application_contact_event_importance:
get:
description: 'This function retrieves the importance level of an application event for WHM''s Contact Manager interface (Home >> Server Contacts >> Contact Manager).
**Note:**
The system will create a notification setting for the application''s events if one does not already exist.'
operationId: Contact-get_application_contact_event_importance
parameters:
- description: The application module's name.
in: query
name: app
required: true
schema:
example: Check
type: string
- description: The event's name.
in: query
name: event
required: true
schema:
example: SecurityAdvisorStateChange
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
importance:
description: 'The importance level at which to send the notification.
* `1` - High.
* `2` - Medium.
* `3` - Low.
* `0` - Disabled.'
enum:
- 1
- 2
- 3
- 0
example: 0
type: integer
name:
description: 'The text version of the importance.
- `High`
- `Medium`
- `Low`
- `Disabled`'
enum:
- High
- Medium
- Low
- Disabled
example: Disabled
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: get_application_contact_event_importance
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return app's event contact importance setting
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_application_contact_event_importance \\\n app='Check' \\\n event='SecurityAdvisorStateChange'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_application_contact_event_importance?api.version=1&app=Check&event=SecurityAdvisorStateChange
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/get_application_contact_importance:
get:
description: 'This function retrieves the importance level of an application''s events for WHM''s
*Contact Manager*
interface (*WHM >> Home >> Server Contacts >> Contact Manager*).
**Note:**
The system creates a notification setting for the application''s events if one does
not already exist.'
operationId: Contact-get_application_contact_importance
parameters:
- description: The cPanel & WHM application module's name.
in: query
name: app
required: true
schema:
example: Check
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
importance:
description: 'The importance level at which to send the notification.
* `1` — High.
* `2` — Medium.
* `3` — Low.
* `0` — Disabled.'
enum:
- 1
- 2
- 3
- 0
example: 0
type: integer
name:
description: 'The text version of the importance setting.
* `High`
* `Medium`
* `Low`
* `Disabled`'
enum:
- High
- Medium
- Low
- Disabled
example: Disabled
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: get_application_contact_importance
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return app contact importance setting
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_application_contact_importance \\\n app='Check'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_application_contact_importance?api.version=1&app=Check
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/get_available_profiles:
get:
description: This function returns a list of available server profiles.
operationId: Cpanel-get_available_profiles
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
profiles:
description: An array of objects that contains the available server profiles.
example:
- code: STANDARD
description: The Standard Node profile provides all services and access to every cPanel feature.
enabled_roles:
- description: Calendars and Contacts provides CalDAV and CardDAV services.
module: CalendarContact
name: Calendars and Contacts
- description: DNS allows users to create and edit Domain Name System zone files.
module: DNS
name: DNS
- description: FTP allows users to manage the files associated with their site with an FTP client.
module: FTP
name: FTP
- description: File Storage allows users to access the File Manager and Git™ Version Control features.
module: FileStorage
name: File Storage
- description: Receive Mail allows users to receive email, as well as create and manage their email accounts.
module: MailReceive
name: Receive Mail
- description: Send Mail allows users to send email.
module: MailSend
name: Send Mail
- description: Local Mail allows the system to process email.
module: MailLocal
name: Local Mail
- description: MySQL®/MariaDB allows users to create and manage MySQL/MariaDB databases.
module: MySQL
name: MySQL/MariaDB
- description: PostgreSQL allows users to create and manage PostgreSQL databases.
module: Postgres
name: PostgreSQL
- description: Spam Filter allows users to use Apache SpamAssassin™ to identify, sort, and delete unsolicited mail.
module: SpamFilter
name: Spam Filter
- description: Webmail provides access to webmail services.
module: Webmail
name: Webmail
- description: Web Disk allows users to manage and manipulate files on the server with multiple types of devices.
module: WebDisk
name: Web Disk
- description: Web Server allows users to create and manage websites for their domains.
module: WebServer
name: Web Server
experimental: 0
items:
properties:
code:
description: The profile's ID.
example: MAILNODE
type: string
description:
description: The profile's description.
example: This profile provides only services and cPanel features that allow the system to serve mail.
type: string
disabled_roles:
description: The roles that this profile disables. The function returns an empty array if no disabled roles exist.
items:
properties:
description:
description: The role's description.
example: File Storage allows users to access the File Manager and Git™ Version Control features.
type: string
module:
description: The role's module name.
example: FileStorage
type: string
name:
description: The role's name.
example: File Storage
type: string
type: object
type: array
enabled_roles:
description: The roles that this profile enables.
items:
properties:
description:
description: The role's description.
example: Receive Mail allows users to receive email, as well as create and manage their email accounts.
type: string
module:
description: The role's module name.
example: MailReceive
type: string
name:
description: The role's name.
example: Receive Mail
type: string
type: object
type: array
experimental:
description: 'Whether the profile is experimental.
* `1` - Experimental.
* `0` - **Not** experimental.'
enum:
- 1
- 0
example: 0
type: integer
name:
description: The profile's name.
example: Mail
type: string
optional_roles:
description: The optional roles that this profile enables. The function returns an empty array if no optional roles exist.
items:
properties:
description:
description: The role's description.
example: DNS allows users to create and edit Domain Name System zone files.
type: string
module:
description: The role's module name.
example: DNS
type: string
name:
description: The role's name.
example: DNS
type: string
type: object
type: array
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_available_profiles
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return available server profiles
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_available_profiles\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_available_profiles?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '76'
/get_current_profile:
get:
description: 'This function returns details about the server''s current
cPanel & WHM server profile.'
operationId: Cpanel-get_current_profile
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
code:
description: The code ID of the current profile.
example: MAILNODE
type: string
description:
description: A description about the current profile.
example: This profile provides only services and cPanel features that allow the system to serve mail.
type: string
disabled_roles:
description: The disabled roles of the current profile.
example:
- description: FTP allows users to manage the files associated with their site with an FTP client.
module: FTP
name: FTP
- description: File Storage allows users to access the File Manager and Git™ Version Control features.
module: FileStorage
name: File Storage
- description: MySQL®/MariaDB allows users to create and manage MySQL/MariaDB databases.
module: MySQL
name: MySQL/MariaDB
- description: PostgreSQL allows users to create and manage PostgreSQL databases.
module: Postgres
name: PostgreSQL
- description: Web Disk allows users to manage and manipulate files on the server with multiple types of devices.
module: WebDisk
name: Web Disk
- description: Web Server allows users to create and manage websites for their domains.
module: WebServer
name: Web Server
items:
properties:
description:
description: The role's description.
type: string
module:
description: The role's module name.
type: string
name:
description: The role's name.
type: string
type: object
type: array
enabled_roles:
description: The current profile's enabled roles.
example:
- description: Calendars and Contacts provides CalDAV and CardDAV services.
module: CalendarContact
name: Calendars and Contacts
- description: Receive Mail allows users to receive email, as well as create and manage their email accounts.
module: MailReceive
name: Receive Mail
- description: Send Mail allows users to send email.
module: MailSend
name: Send Mail
- description: Local Mail allows the system to process email.
module: MailLocal
name: Local Mail
- description: Webmail provides access to webmail services.
module: Webmail
name: Webmail
items:
properties:
description:
description: The role's description.
type: string
module:
description: The role's module name.
type: string
name:
description: The role's name.
type: string
type: object
type: array
experimental:
description: 'Whether the profile is experimental.
* `1` — Experimental.
* `0` — Not experimental.
**Important:**
We do **not** recommend using experimental profiles on production environments.'
enum:
- 1
- 0
example: 1
type: integer
name:
description: The name of the system's current server profile.
example: Mail
type: string
optional_roles:
description: The optional roles of the current server profile.
example:
- description: DNS allows users to create and edit Domain Name System zone files.
module: DNS
name: DNS
- description: Spam Filter allows users to use Apache SpamAssassin™ to identify, sort, and delete unsolicited mail.
module: SpamFilter
name: Spam Filter
items:
properties:
description:
description: The role's description.
type: string
module:
description: The role's module name.
type: string
name:
description: The role's name.
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_current_profile
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return server's node profile
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_current_profile\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_current_profile?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '76'
/get_linked_server_node:
get:
description: This function returns details about a linked remote server node.
operationId: Cpanel-get_linked_server_node
parameters:
- description: The name of a linked remote server node.
in: query
name: alias
required: true
schema:
example: example
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
enabled_services:
description: The services enabled on the linked remote server node.
items:
example: apache_php_fpm
type: string
type: array
hostname:
description: The remote server node's hostname.
example: example.com
format: domain
type: string
last_check:
description: The last time that the server queried the current status of the remote server node.
example: 1556576165
format: unix_timestamp
type: integer
system_settings:
additionalProperties:
type: object
description: 'A list of the `worker_capabilities` return''s system settings.
The key is a role name and the value is an object with system settings for the role.'
example:
Mail:
globalspamassassin: 0
tls_verified:
description: 'Whether the remote server node has a valid SSL certificate.
* `1` - The remote server node has a valid SSL certificate.
* `0` - The remote server node does not have a valid SSL certificate.'
enum:
- 0
- 1
example: 1
type: integer
username:
description: The username required to make API calls to the linked remote server node.
example: root
format: username
type: string
version:
description: The version of cPanel & WHM installed on the remote server node.
example: 11.86.0.0
type: string
worker_capabilities:
additionalProperties:
type: object
description: 'A group of services required for a remote server node to perform a specific task. The key is a role name
and the value is an object with required options for the role.'
example:
Mail: {}
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: get_linked_server_node
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success.
* `0` - Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return linked remote server node settings
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_linked_server_node \\\n alias='example'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_linked_server_node?api.version=1&alias=example
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/get_remote_access_hash:
get:
deprecated: true
description: 'This function retrieves a hash from a remote access file.
**Warning:**
We deprecated this function. We **strongly** suggest that you use the WHM API 1 `api_token_list` function.'
operationId: Resellers-get_remote_access_hash
parameters:
- description: The server's hostname.
in: query
name: host
required: true
schema:
example: hostname.example.com
type: string
- description: The user's password.
in: query
name: password
required: true
schema:
example: 123456luggage
type: string
- description: The user's username.
in: query
name: username
required: true
schema:
example: user
type: string
- description: 'Whether to generate a new hash for the user, if one does not exist.
* `1` — Generate a new hash.
* `0` — Do **not** generate a new hash.'
in: query
name: generate
required: false
schema:
default: 0
enum:
- 0
- 1
example: 1
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
accesshash:
description: The account's remote access hash.
example: 6b355856c00606648b803a7d896186632472d584eaf0dad878b8885e1f64edad24b31ff79f2675303a598ac211ad5188c589fb60c5786a3e8d85c2029ca4ea76edb62becff7e3f7c5421f51bb4896737c22eda761e2a6fd96404bf513ee9051480ea86c800ab9b45f5255590836c7b769816a8f7f5def1e0c6cb19c212f01f56bb3392854ce51178a943eab6d1ce5d44857e980f70724f50964d2fbe01cb076a119dc5bf421051c2a0882550cdc69872832167c91e11bbe5c95d98474096ebe14b6ca9da2d73faecea5ec37f208912f5da578d5f8ab7c257584002e1808614f9859dceae564e8f30a9790c232d005ebd44f912e20b72e731fc600156e5b9f2902b0dd913010022e6b0deb6a2fb0d38ff3fd005c53f321ec812d3be10643dce81c46e1b9e2abe8814d46ba49b8a173b3e01ec677ea182cabb55db6d9eab2240755be1bbb1d7094a155fd262934ec099fdba3b10f409dced62d3d570ab6478a269a95da1314a45a5916da07312bf7e5a53d57b090e9c24932776f7ffdcf90ba2fa5cd935995795348b67311185f54da6b90da8771585e78c5f587e427bead9198faaa631b8216099c25373c8d4c26a011f295188963840777d09d95b6385df8337098b7e231534323457b9388fe9ea8046
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: get_remote_access_hash
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return remote access file's hash
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_remote_access_hash \\\n username='user' \\\n password='123456luggage' \\\n host='hostname.example.com'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_remote_access_hash?api.version=1&username=user&password=123456luggage&host=hostname.example.com
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/get_server_node_status:
get:
description: 'This function returns the status of a linked remote server node. It returns
the linked remote server''s status with the WHM API 1 `version` and `get_current_profile` functions.'
operationId: Cpanel-get_server_node_status
parameters:
- description: "The required API token to make API calls to the remote server node.\n\n**Note:**\n\n The API token **must** have `root`-level access on the remote server node."
in: query
name: api_token
required: true
schema:
example: 23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H
type: string
- description: 'The remote server node''s hostname or IP address.
**Note:**
If you use an IP address, you **must** use the `skip_tls_verification=1` parameter.'
in: query
name: hostname
required: true
schema:
example: example.com
type: string
- description: 'The username required to make API calls to the remote server node.
**Note:**
The username **must** have `root`-level access on the remote server node.'
in: query
name: username
required: true
schema:
example: root
type: string
- description: 'Whether to skip [SSL/TLS verification](https://go.cpanel.net/guidetoSSL). The system performs this action when it queries the remote server node.
* `1` - Skip SSL/TLS verification.
* `0` - Do **not** skip SSL/TLS verification.'
in: query
name: skip_tls_verification
required: false
schema:
default: 0
enum:
- 0
- 1
example: 1
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
enabled_services:
description: An list of the remote server node's enabled services.
items:
example: apache_php_fpm
type: string
type: array
remote_node_linkages:
description: 'An array of objects of the remote server''s [child nodes](https://go.cpanel.net/cPanelGlossary#child-node). This function returns this information via the `list_linked_server_nodes` function.
**Note:**
If you call this function on a parent node for its child node, this function returns an empty object.'
items:
example:
alias: MailNode
enabled_services:
- apache_php_fpm
- cpanellogd
- cpdavd
- cpgreylistd
- cphulkd
- cpsrvd
- crond
- dnsadmin
- exim
- imap
- ipaliases
- lmtp
- mailman
- mysql
- named
- nscd
- pop
- queueprocd
- rsyslogd
- spamd
- sshd
- tailwatchd
hostname: mailnode.example.com
last_check: 1583934071
system_settings:
Mail:
globalspamassassin: '1'
tls_verified: 0
username: root
version: 11.90.0.0
worker_capabilities:
Mail: {}
type: object
type: array
system_settings:
description: An object containing the remote server's child node system settings.
example:
Mail:
globalspamassassin: 1
type: object
tls_verified:
description: 'Whether the remote server node has a valid [SSL certificate](https://go.cpanel.net/guidetoSSL).
* `1` - The remote server node has a valid SSL certificate.
* `0` - The remote server node does **not** have a valid SSL certificate.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The installed version of cPanel & WHM on the remote server node.
example: 11.90.0.0
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: get_server_node_status
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return linked server node status
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_server_node_status \\\n api_token='23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H' \\\n hostname='example.com' \\\n username='root'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_server_node_status?api.version=1&api_token=23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H&hostname=example.com&username=root
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/get_service_config:
get:
description: This function returns a service's configuration settings.
operationId: AdvConfig-get_service_config
parameters:
- description: 'The service''s name.
* `dovecot` — The Dovecot service.
**Note:**
For a fresh install, the data returned for the Dovecot
service will only contain the list of protocols. It will
not be until the mailserver configuration is saved that
the return data for Dovecot will look like what is shown
in the example.'
in: query
name: service
required: true
schema:
enum:
- dovecot
example: dovecot
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
additionalProperties:
anyOf:
- type: string
- type: integer
- type: object
description: 'A configuration key''s setting.
**Note:**
The key name is the return''s name.'
description: A list of the configuration key's settings.
example:
auth_cache_negative_ttl: 3600
auth_cache_size: 1M
auth_cache_ttl: 3600
auth_policy_hash_nonce: 91057590
compress_messages: 0
config_vsz_limit: 2048
auth_allow_cleartext: 'yes'
expire_trash: 0
expire_spam: 0
hulk_auth_passwd: FAMONex4Bn9Hv1BO
include_trash_in_quota: 0
incoming_reached_quota: bounce
ipv6: 'on'
lmtp_process_limit: 500
lmtp_process_min_avail: 0
lmtp_user_concurrency_limit: 4
login_max_processes_count: 50
login_process_per_connection: 'no'
login_process_size: 128
login_processes_count: 2
mail_process_size: 512
mdbox_rotate_interval: 0
mdbox_rotate_size: 10M
protocol_imap:
mail_max_userip_connections: 20
map_idle_notify_interval: 24
protocol_pop3:
mail_max_userip_connections: 3
protocols: imap pop3
ssl_cipher_list: ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl_min_protocol: TLSv1.2
type: object
metadata:
properties:
command:
description: The method name called.
example: get_service_config
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return service configuration settings
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_service_config \\\n service='dovecot'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_service_config?api.version=1&service=dovecot
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/get_service_config_key:
get:
description: This function returns a specific configuration key for a service.
operationId: AdvConfig-get_service_config_key
parameters:
- description: The configuration key's name.
in: query
name: key
required: true
schema:
example: mail_process_size
type: string
- description: The service's name.
in: query
name: service
required: true
schema:
example: dovecot
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
key name:
description: "configuration key's current setting.\n\n**Note:**\n\n This return's name is the value that you pass in this function's key parameter. A valid setting."
example: '512'
type: string
mail_process_size: {}
type: object
metadata:
properties:
command:
description: The method name called.
example: get_service_config_key
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return service configuration key
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_service_config_key \\\n service='dovecot' \\\n key='mail_process_size'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_service_config_key?api.version=1&service=dovecot&key=mail_process_size
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/get_tcp4_sockets:
get:
description: This function returns data about the system's transmission control protocol (TCP) IPv4 sockets.
operationId: Sys-get_tcp4_sockets
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: An array of objects that contains the status of the system's TCP IPv4 sockets.
items:
properties:
dport:
description: The source port that the Linux kernel reports for the socket.
example: 443
type: integer
dst:
description: The destination IPv4 address.
example: 10.0.0.2
format: ipv4
type: string
inode:
description: The inode number the Linux kernel assigned to the socket.
example: 27171
minimum: 1
type: integer
rqueue:
description: The number of bytes in the socket's read buffer.
example: 0
format: bytes
type: integer
sport:
description: The source port number.
example: 2087
type: integer
src:
description: The source IPv4 address.
example: 10.0.0.1
format: ipv4
type: string
state:
description: The socket's current state, in the Linux kernel's numeric format.
example: 10
minimum: 1
type: integer
uid:
description: The socket's user ID (UID).
example: 102
minimum: 1
type: integer
wqueue:
description: The number of bytes the system is waiting to send.
example: 45
format: bytes
type: integer
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_tcp4_sockets
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return TCP IPv4 sockets data
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_tcp4_sockets\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_tcp4_sockets?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '80'
/get_tcp6_sockets:
get:
description: This function returns data about the system's transmission control protocol (TCP) IPv6 sockets.
operationId: Sys-get_tcp6_sockets
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: An array of objects that contains the status of the system's TCP IPv6 sockets.
items:
properties:
dport:
description: The source port that the Linux kernel reports for the socket.
example: 443
minimum: 1
type: integer
dst:
description: The destination IPv6 address.
example: 2001:0db8:0:0:1:0:0:1
format: bytes
type: string
inode:
description: The inode number the Linux kernel assigned to the socket.
example: 27171
minimum: 1
type: integer
rqueue:
description: The number of bytes in the socket's read buffer.
example: 0
format: bytes
type: integer
sport:
description: The source port number.
example: 2087
minimum: 1
type: integer
src:
description: The source IPv6 address.
example: 2001:0db8:0:0:1:0:0:2
format: ipv6
type: string
state:
description: The socket's current state, in the Linux kernel's numeric format.
example: 10
minimum: 1
type: integer
uid:
description: The socket's user ID (UID).
example: 102
minimum: 1
type: integer
wqueue:
description: The number of bytes that the system is waiting to send.
example: 45
format: bytes
type: integer
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_tcp6_sockets
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return TCP IPv6 sockets data
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_tcp6_sockets\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_tcp6_sockets?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '80'
/get_udp4_sockets:
get:
description: This function returns data about the system's user datagram protocol (UDP) IPv4 sockets.
operationId: Sys-get_udp4_sockets
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: An array of objects that contains the status of the system's UDP IPv4 sockets.
items:
properties:
dport:
description: The source port that the Linux kernel reports for the socket.
example: 443
minimum: 1
type: integer
dst:
description: The destination IPv4 address.
example: 10.0.0.2
format: ipv4
type: string
inode:
description: The inode number the Linux kernel assigned to the socket.
example: 27171
minimum: 1
type: integer
rqueue:
description: The number of bytes in the socket's read buffer.
example: 0
format: bytes
minimum: 1
type: integer
sport:
description: The source port number.
example: 53
minimum: 1
type: integer
src:
description: The source IPv4 address.
example: 10.0.0.1
format: ipv4
type: string
state:
description: The socket's current state, in the Linux kernel's numeric format.
example: 10
minimum: 1
type: integer
uid:
description: The socket's user ID (UID).
example: 25
minimum: 1
type: integer
wqueue:
description: The number of bytes that the system is waiting to send.
example: 45
format: bytes
minimum: 1
type: integer
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_udp4_sockets
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return UDP IPv4 sockets data
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_udp4_sockets\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_udp4_sockets?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '80'
/get_udp6_sockets:
get:
description: 'This function returns data about the system''s user datagram protocol (UDP) IPv6 sockets.
**Important:**
This function may perform slower on a CentOS 6 system with a large number of UDP sockets.'
operationId: Sys-get_udp6_sockets
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: An array of objects that contains the status of the system's UDP IPv6 sockets.
items:
properties:
dport:
description: The source port that the Linux kernel reports for the socket.
example: 443
maximum: 65535
minimum: 0
type: integer
dst:
description: The destination IPv6 address.
example: 2001:0db8:0:0:1:0:0:2
format: ipv6
type: string
inode:
description: The inode number the Linux kernel assigned to the socket.
example: 27171
minimum: 1
type: integer
rqueue:
description: The number of bytes in the socket's read buffer.
example: 0
minimum: 0
type: integer
sport:
description: The source port number.
example: 53
maximum: 65535
minimum: 0
type: integer
src:
description: The source IPv6 address.
example: 2001:0db8:0:0:1:0:0:1
format: ipv6
type: string
state:
description: The socket's current state, in the Linux kernel's numeric format.
example: 10
type: integer
uid:
description: The socket's user ID (UID).
example: 25
minimum: 0
type: integer
wqueue:
description: The number of bytes that the system is waiting to send.
example: 45
minimum: 0
type: integer
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: get_udp6_sockets
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return UDP IPv6 sockets data
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_udp6_sockets\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_udp6_sockets?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '80'
/get_update_availability:
get:
description: 'This function checks whether your server uses the
latest version of cPanel & WHM for your release tier.'
operationId: Update-get_update_availability
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
current_version:
description: The server's current version of cPanel & WHM.
example: 88.0.12
type: string
newest_version:
description: The available version of cPanel & WHM available for the server's support tier.
example: 88.0.12
type: string
tier:
description: 'The server''s
[support tier](https://docs.cpanel.net/knowledge-base/cpanel-product/product-versions-and-the-release-process/#release-tiers):
* `edge` — EDGE.
* `current` — CURRENT.
* `release` — RELEASE.
* `stable` — STABLE.
* `lts` — Long-Term Support (LTS).'
enum:
- edge
- current
- release
- stable
- lts
example: current
type: string
update_available:
description: 'Whether a new version of cPanel & WHM is available for the server''s support tier.
- `1` — Available.
- `0` — Not available.'
enum:
- 0
- 1
example: 0
type: integer
type: object
metadata:
properties:
command:
description: The method name called.
example: get_update_availability
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return if server uses the default update version
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n get_update_availability\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/get_update_availability?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '56'
/getdiskusage:
get:
description: This function retrieves the server's drive partition information.
operationId: Sys-getdiskusage
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
partition:
description: An array of objects that contain drive partition information.
items:
properties:
available:
description: The partition's unused disk space, measured in kilobytes.
example: 377856
format: kilobytes
minimum: 1
type: integer
device:
description: The partition's device name.
example: /dev/vda1
type: string
disk:
description: The partition's label.
example: vda1
type: string
filesystem:
description: The partition's absolute directory path.
example: /
type: string
inodes_available:
description: The number of unused inodes on the partition.
example: 20575847
minimum: 1
type: integer
inodes_ipercentage:
description: The percentage of the partition's total
example: 2
minimum: 0
type: integer
inodes_total:
description: The total number of inodes that the partition will allow.
example: 20970944
minimum: 1
type: integer
inodes_used:
description: The number of inodes used on the partition.
example: 395097
minimum: 1
type: integer
mount:
description: The partition's mount point.
example: /boot
type: string
percentage:
description: The percentage of the partition's total disk space used.
example: 20
minimum: 1
type: integer
total:
description: The partition's total allocated disk space, measured in kilobytes.
example: 495844
format: kilobytes
minimum: 1
type: integer
used:
description: The partition's disk space used, measured in kilobytes.
example: 92388
format: kilobytes
minimum: 1
type: integer
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: getdiskusage
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: Successfully retrieved disk usage
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return server's drive partition information
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n getdiskusage\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/getdiskusage?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.32'
/gethostname:
get:
description: This function retrieves the server's hostname.
operationId: Sys-gethostname
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
hostname:
description: The server's hostname.
example: hostname.example.com
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: gethostname
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return server's hostname
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n gethostname\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/gethostname?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/is_role_enabled:
get:
description: 'This function checks whether a specific server role is currently enabled
for the server.
For more information about server roles, read our How to Use Server Profiles documentation.'
operationId: Cpanel-is_role_enabled
parameters:
- description: 'The role to check. The role must be one of the following case-sensitive values:
* `CalendarContact` - Allows users to access CalDAV and CardDAV services and features.
* `DNS` - Allows users to create and edit Domain Name System (DNS) zone files. This role doesn’t convert your server to a cPanel DNSOnly™ server.
* `FileStorage` - Allows users to access cPanel’s [File Manager](https://go.cpanel.net/cpaneldocsFileManager) and [Git™ Version Control](https://go.cpanel.net/cpaneldocsasisGitVersionControl) features. When a profile disables this role, you can’t enable the Shell Access setting when you create a new cPanel account.
* `FTP` - Allows users to manage their account’s files with an FTP client.
* `MailLocal` - Allows the control of local mail delivery and related features.
* `MailReceive` - Allows users to receive mail from external sources.
* `MailRelay` - Allows the server’s Message Transfer Agent (MTA) to forward mail from one remote host to another.
* `MailSend` - Allows users to send mail and control the features necessary for sending mail.
* `MySQL` - Allows users to create and manage MySQL® or MariaDB databases.
* `MySQLClient` - This role checks whether the MySQL/MariaDB client access exists locally or remotely. You cannot directly enable or disable this role. The system enables or disables this role depending on the MySQL configuration.
* `Postgres` - Allows users to create and manage [PostgreSQL](https://go.cpanel.net/whmdocsConfigurePostgreSQL) databases if cPanel & WHM manages the server’s PostgreSQL.
* `PostgresClient` - This role checks whether the PostgreSQL client access exists locally.
* `SpamFilter` - Allows users to use Apache SpamAssassin™ to identify, sort, and delete unsolicited mail.
* `WebDisk` - Allows users to manage their account’s files with a WebDAV client.
* `Webmail` - Allows users to access webmail services and features.
* `WebServer` - Allows users to create and manage websites for their domains.'
in: query
name: role
required: true
schema:
enum:
- CalendarContact
- DNS
- FileStorage
- FTP
- MailLocal
- MailReceive
- MailRelay
- MailSend
- MySQL
- MySQLClient
- Postgres
- PostgresClient
- SpamFilter
- WebDisk
- Webmail
- WebServer
example: FTP
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
enabled:
description: 'Whether a role is enabled or disabled.
* `1` - Enabled.
* `0` - Disabled.'
enum:
- 1
- 0
example: 1
type: integer
type: object
metadata:
properties:
command:
description: The method name called.
example: is_role_enabled
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return whether server role is enabled
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n is_role_enabled \\\n role='FTP'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/is_role_enabled?api.version=1&role=FTP
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '76'
/link_server_node_with_api_token:
get:
description: 'This function links your server to a remote server node. The server uses an API token
to communicate with the remote server node.
**Important:**
* This function **only** runs on a
Standard Node profile
server.
* The remote server node **must** use a version that is the same as or greater than your
server version.
* This function **requires** the use of an API token. For more information, read our
Guide to API Authentication - API Tokens in WHM
documentation.'
operationId: Cpanel-link_server_node_with_api_token
parameters:
- description: 'A unique name that refers to the remote server node.
**Note:**
The alias may **only** contain alphanumeric characters, dashes (`-`), and underscores (`_`).
It also has a maximum length of 50 characters.'
in: query
name: alias
required: true
schema:
example: example
maxLength: 50
minLength: 1
type: string
- description: 'The API token required to make API calls to the remote server node.
**Note:**
The API token **must** have `root`-level access on the remote server node.'
in: query
name: api_token
required: true
schema:
example: 23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H
type: string
- description: 'The remote server node''s hostname.
**Note:**
This parameter does **not** accept an IP address.'
in: query
name: hostname
required: true
schema:
example: host.example.com
format: hostname
type: string
- description: 'The username required to make API calls to the remote server node.
**Note:**
The username **must** have `root`-level access on the remote server node.'
in: query
name: username
required: true
schema:
example: root
format: username
type: string
- description: 'Whether to skip
[SSL/TLS verification](https://docs.cpanel.net/knowledge-base/security/guide-to-ssl/).
The system performs this action when it queries the remote server node.'
in: query
name: skip_tls_verification
required: false
schema:
default: 0
enum:
- 1
- 0
example: 0
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: link_server_node_with_api_token
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Add linked server node
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n link_server_node_with_api_token \\\n alias='example' \\\n api_token='23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H' \\\n hostname='host.example.com' \\\n username='root'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/link_server_node_with_api_token?api.version=1&alias=example&api_token=23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H&hostname=host.example.com&username=root
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/list_configclusterservers:
get:
description: 'This function lists the servers in the server''s configuration cluster.
**Warning**:
* WHM''s Remote Access Key feature is deprecated. We **strongly** recommend that you use API tokens instead.
* If you log in to a configuration cluster server that is **not** the parent server, **nothing** will indicate that the server is part of a configuration cluster. You can only view and modify this information from the parent server.'
operationId: ClusterServer-list_configclusterservers
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
additionalProperties:
description: Each return's name is the server name.
properties:
signature:
description: A truncated version of the server's remote access key.
type: string
user:
description: The `root`-level username for the server.
type: string
type: object
description: Configuration cluster signatures and users for each server.
example:
example1.com:
signature: d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0
user: root
example2.com:
signature: d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d1
user: root
type: object
metadata:
properties:
command:
description: The method name called.
example: list_configclusterservers
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return all configuration cluster servers
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n list_configclusterservers\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/list_configclusterservers?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.44'
/list_connected_applications:
post:
description: 'Retrieve the connection information for all the connected applications that have been
granted access to this server. This data may include any number of properties, but its
primary purpose is to associate API tokens and public/private key pairs and similar
resources with a specific connected application.'
operationId: ConnectedApplications-list_connected_applications
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
list:
description: The list of connected applications and their associated data.
items:
additionalProperties: {}
description: Data associated with the connected application. There are a few predefined elements, but any additional data may be stored here as well.
properties:
jwt:
additionalProperties: {}
description: The contents of a JSON Web Token used during registration or updates.
example:
callback_url: https://application-1.com/api/si/servers/registrations/callback
challenge: ddd13a92-d55e-4818-a960-9776ede6cd74
email: john.doe@email.example
exp: 1401912171
ips:
- 1.1.1.1
- 2.2.2.2
iss: https://application-1.com
iss_desc: Sample application
name: John Doe
redirect_url: https://application-1/redirect
scope:
- admin:users
- admin:resellers
- admin:domains
state: xyz
type: object
name:
description: The name of the connected application.
example: application-1
type: string
private_key:
description: The name of the private key, if any, used by encryption, signing, or other security schemes used when communicating with this connected application.
example: FEF6253E6A122532430D
type: string
public_key:
description: The name of the public key, if any, sent to the connected application during registration.
example: AAF6253E6A1225324305623EE
type: string
token_name:
description: The name of the API token, if any, sent to the connected application to allow that application to make API calls on this server.
example: Application 1 API Token
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: list_connected_applications
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: List application connection information
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n list_connected_applications\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/list_connected_applications?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '98'
/list_linked_server_nodes:
get:
description: This function returns a list of all remote server nodes linked to the server. It also provides details about each remote server node.
operationId: Cpanel-list_linked_server_nodes
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: An array of objects containing linked remote server nodes data.
items:
properties:
alias:
description: The name of a linked remote server node.
example: example
type: string
enabled_services:
description: An array of the services enabled on the linked remote server node.
example:
- apache_php_fpm
- cpanellogd
- cpdavd
- cpgreylistd
- cpsrvd
- crond
- dnsadmin
- exim
- ftpd
- imap
- ipaliases
- lmtp
- mailman
- mysql
- named
- nscd
- pop
- postgresql
- queueprocd
- rsyslogd
- spamd
- sshd
- tailwatchd
items:
type: string
type: array
hostname:
description: The remote server node's hostname.
example: example.com
format: domain
type: string
last_check:
description: The last time that the server queried the current status of the remote server node.
example: 1556576165
format: unix_timestamp
type: integer
tls_verified:
description: 'Whether the remote server node has a valid [SSL certificate](https://go.cpanel.net/guidetoSSL).
* `1` — The remote server node has a valid SSL certificate.
* `0` — The remote server does **not** have a valid SSL certificate.'
enum:
- 0
- 1
example: 1
type: integer
username:
description: The username required to make API calls to the linked remote server node.
example: root
format: username
type: string
version:
description: The version of cPanel & WHM installed on the remote server node.
example: 11.90.0.0
format: cPanel version
type: string
worker_capabilities:
additionalProperties:
description: 'The current role of the linked remote server node. This will return the required options for the role, if any exist.
**Note:**
* If **no** options exist for the role, this function returns an empty hash.
* The object''s key is the remote server node''s current role.'
type: object
description: An object containing groups of services required for a remote server node to fulfill a specific role.
example:
Mail: {}
type: object
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: list_linked_server_nodes
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return all linked server nodes
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n list_linked_server_nodes\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/list_linked_server_nodes?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/list_user_child_nodes:
get:
description: This function returns the system's cPanel accounts and the linked cPanel & WHM server on which they exist.
operationId: Cpanel-list_user_child_nodes
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: A list of cPanel accounts and the linked cPanel & WHM servers on which they exist.
items:
properties:
alias:
description: The name (alias) of the linked cPanel & WHM server.
example: MailServer1
type: string
type:
description: 'The linked [cPanel & WHM server''s profile](https://docs.cpanel.net/knowledge-base/general-systems-administration/how-to-use-server-profiles).
* `Mail` - A server set as a mail node.'
enum:
- Mail
example: Mail
type: string
user:
description: The cPanel account username.
example: username1
type: string
type: object
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: list_user_child_nodes
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return cPanel accounts with server name and type
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n list_user_child_nodes\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/list_user_child_nodes?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '88'
/personalization_get:
post:
description: 'This function retrieves the data from an NVData file on disk. cPanel
NVData is a per-account configuration storage mechanism that you can use to
maintain persistent cPanel & WHM settings across multiple sessions. This includes
custom settings for your own themes.
**Note:**
You can **only** call this function as a JSON request. For more information about
additional output options, run the `whmapi1 --help` command.'
operationId: Personalization-personalization_get
requestBody:
content:
application/json:
schema:
properties:
names:
description: 'A list of NVData keys stored on the server.
**Note:**
If you did **not** set a value for the requested keys, the system returns
a null value.'
example:
- milk
- coffee
items:
type: string
maxLength: 2048
type:
- array
- 'null'
store:
description: The name under which the values are stored.
example: beverages
maxLength: 128
type: string
type: object
required: true
responses:
'200':
content:
application/json:
schema:
properties:
data:
example:
personalization:
coffee:
reason: OK
success: 1
value: hot
milk:
reason: OK
success: 1
value: cold
properties:
personalization:
description: The NVData keys and values stored on the server.
properties:
additionalProperties:
description: 'The retrieved NVData information stored on the server.
**Note:**
This return''s name is based on the keys provided in the `personalization`
parameter with WHM API 1''s `personalization_set` function.'
properties:
reason:
description: An error message describing the failure if the `success` Boolean returns a `0` value.
format: string
success:
description: 'Whether the function successfully retrieved the value from
the server.
* `1` — Successful.
* `0` — Unsuccessful.'
enum:
- 1
- 0
type: integer
value:
description: 'The value stored in the field.
* null — The pair is **not** available in the store.'
type:
- string
- 'null'
type: object
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: personalization_get
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return data from NVData file
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "echo '{\"names\":[\"milk\",\"coffee\"],\"store\":\"beverages\"}' | \\\nwhmapi1 --input=json --output=jsonpretty \\\n personalization_get"
- label: HTTP Request (Wire Format)
lang: HTTP
source: 'POST /cpsess##########/json-api/personalization_get HTTP/1.1
Host: example.com:2083
Cookie: ###################################
Content-Type: application/json
Content-Length: 65
{"api.version":"1","names":["milk","coffee"],"store":"beverages"}'
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '74'
/personalization_set:
post:
description: 'This function is used to save personalization data for a WHM user to a
datastore on disk.
We call this system cPanel NVData.
cPanel NVData is a per-login configuration storage mechanism that you can use to
maintain persistent user interface settings across multiple sessions.
This includes custom settings for your own themes and plugins.
This function is used to save personalzation data for WHM users **only**. If you want to save personalization data for cPanel users, use the
UAPI function `personalization_set`.'
operationId: Personalization-personalization_set
requestBody:
content:
application/json:
schema:
example:
api.version: 1
personalization:
coffee: hot
milk: cold
store: beverages
properties:
api.version:
description: The WHM API version number
enum:
- 1
type: integer
personalization:
description: An object you want to store.
type: object
store:
description: The name under which the values will be stored.
example: beverages
maxLength: 128
type: string
required:
- api.version
- personalization
type: object
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
personalization:
additionalProperties:
description: The name for this property is one of the properties that you provide in the personalization parameter.
properties:
reason:
description: The message that describes the failure if the `success` property returns `0`.
example: OK
type: string
success:
description: 'Whether the function successfully saved the value on the server.
* `1` - Successful.
* `0` - Unsuccessful.'
enum:
- 0
- 1
example: 1
type: integer
value:
description: The value stored in the field or `null` if the property is not available in the datastore.
example: hot
type:
- string
- 'null'
type: object
description: The saved personalization information on the server.
example:
coffee:
reason: OK
success: 1
value: hot
milk:
reason: OK
success: 1
value: cold
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: personalization_set
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Save data to NVData file
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "echo '{\"api.version\":\"1\",\"personalization\":{\"coffee\":\"hot\",\"milk\":\"cold\"},\"store\":\"beverages\"}' | \\\nwhmapi1 --input=json --output=jsonpretty \\\n personalization_set"
- label: HTTP Request (Wire Format)
lang: HTTP
source: 'POST /cpsess##########/json-api/personalization_set HTTP/1.1
Host: example.com:2083
Cookie: ###################################
Content-Type: application/json
Content-Length: 87
{"api.version":"1","personalization":{"coffee":"hot","milk":"cold"},"store":"beverages"}'
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '74'
/purchase_a_license:
get:
description: This function returns the checkout URL to use for a cPanel Store or cPanel Market provider purchase.
operationId: Market-purchase_a_license
parameters:
- description: The login token to access the cPanel Store.
in: query
name: login_token
required: true
schema:
example: 1a676e6f-99fc-11e6-9ab6-e60a769b73bc
type: string
- description: The cPanel Store or cPanel Market provider's name.
in: query
name: provider
required: true
schema:
example: cPStore
type: string
- description: The location to which the cPanel Store or cPanel Market provider directs the user after the checkout process finishes.
in: query
name: url_after_checkout
required: true
schema:
example: http://hostname.example.com
format: url
type: string
- description: 'Whether the cPanel Store or cPanel Market provider should treat this request as an upgrade.
* `1` — An upgrade.
* `0` — **Not** an upgrade.'
in: query
name: upgrade
required: false
schema:
default: 0
enum:
- 0
- 1
example: 1
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
payload:
description: An array of checkout URLs. A valid checkout URL.
items:
example: https://store.cpanel.net/checkout/ssl/1234567
type: string
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: purchase_a_license
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed .Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return cPanel Store or Market checkout URL
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n purchase_a_license \\\n provider='cPStore' \\\n url_after_checkout='http://hostname.example.com' \\\n login_token='1a676e6f-99fc-11e6-9ab6-e60a769b73bc'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/purchase_a_license?api.version=1&provider=cPStore&url_after_checkout=http%3a%2f%2fhostname.example.com&login_token=1a676e6f-99fc-11e6-9ab6-e60a769b73bc
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '62'
/reboot:
get:
description: This function reboots the server.
operationId: Sys-reboot
parameters:
- description: "Whether to use a forceful reboot.\n* `1` - Use a forceful reboot.\n* `0` - Do **not** use a forceful reboot.\n\n**Warning:**\n\n A forceful reboot may result in data loss if active processes exist on the server."
in: query
name: force
required: false
schema:
default: 0
enum:
- 0
- 1
example: 0
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: reboot
type: string
reason:
description: 'The reason the API function failed when the `metadata.result`
field is `0`. This field may display a success message when
a function succeeds.'
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed. Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Restart server
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n reboot\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/reboot?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/remove_connected_application:
post:
description: 'Remove the connected application from the server. This only removes the connection
information from the configuration file. It does not clean up any allocated
resources, such as API tokens and public/private keys. Any tokens or keys need to be
removed from the system separately.'
operationId: ConnectedApplications-remove_connected_application
parameters:
- description: The name of the connected application.
in: query
name: name
required: true
schema:
example: application-1
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: remove_connected_application
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Remove application connection information
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n remove_connected_application \\\n name='application-1'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/remove_connected_application?api.version=1&name=application-1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '98'
/remove_in_progress_exim_config_edit:
get:
description: 'This function removes in-progress Exim configuration files after
a failed update to Exim. When cPanel & WHM attempts to update an Exim configuration,
the system creates dry run files to replace of the ordinary configuration
files.
**Note:**
* If the update fails, the system leaves these dry run files in place.
* When the user accesses the *Advanced Editor* section of WHM''s *Exim Configuration Manager*
interface (_Home >> Service Configuration >> Exim Configuration Manager_),
they access these dry run files instead of the actual configuration files.'
operationId: Exim-remove_in_progress_exim_config_edit
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: remove_in_progress_exim_config_edit
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: Removed OK
type: string
result:
description: '* `1` - Success
* `0` - Failed. Check the `reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Remove Exim configuration files after failed update
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n remove_in_progress_exim_config_edit\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/remove_in_progress_exim_config_edit?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/restartservice:
get:
description: 'This function restarts a service, or daemon, on a server.
**Note:**
If the user **only** possesses the `clustering`
Access Control List (ACL)
then this function can **only** act on the `named` service.'
operationId: Services-restartservice
parameters:
- description: 'The service to restart. For a list of possible values, read our
[Access Control List (ACL)](https://go.cpanel.net/ACLReferenceChart)
documentation.'
in: query
name: service
required: true
schema:
example: exim
type: string
- description: 'Whether to queue this task.
* `1` — Queue.
* `0` — Do **not** queue.
**Note:**
This parameter affects the `output` return.'
in: query
name: queue_task
required: false
schema:
default: 0
enum:
- 0
- 1
example: 0
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
output:
description: 'The function''s raw output.
**Note:**
If you call the `queue_task` parameter, this changes the return''s output:
* `1` — Nothing.
* `0` — A string of raw output.'
example: Waiting for httpd to restart..............finished.\n\nhttpd (/usr/local/apache/bin/httpd -k start -DSSL) running as root with PID 21379\nhttpd (/usr/local/apache/bin/httpd -k start -DSSL) running as root with PID 21385\n\nhttpd started ok\n
type: string
service:
description: The restarted service.
example: exim
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: restartservice
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Restart service
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n restartservice \\\n service='exim'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/restartservice?api.version=1&service=exim
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.38'
/restore_config_from_file:
get:
description: This function restores a configuration backup from a file. If the backup file does **not** contain any changes, the system does **not** write to the configuration file.
operationId: Cpanel-restore_config_from_file
parameters:
- description: 'The configuration module''s name.
**Important:**
This parameter is case-sensitive. You **must** enter the parameter in the correct case format; otherwise, the function will fail.'
in: query
name: module
required: true
schema:
example: Main
type: string
- description: 'The absolute path to configuration file.
**Note:**
If this parameter contains JSON or equals-sign key and value pairs, they **must** appear in new lines.'
in: query
name: path
required: true
schema:
example: /var/cpanel/cpanel.config
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: restore_config_from_file
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update configuration file from backup
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n restore_config_from_file \\\n module='Main' \\\n path='/var/cpanel/cpanel.config'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/restore_config_from_file?api.version=1&module=Main&path=%2fvar%2fcpanel%2fcpanel.config
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '74'
/restore_config_from_upload:
post:
description: 'This function restores a configuration backup file via HTTP POST
method. If the backup file does **not** contain any changes, the system does **not** write to the configuration file.
**Note:**
The format for this command line example differs from our standard format because the function **only** accepts an HTTP POST request. For more information about how to call this request method, read Mozilla''s POST documentation.'
operationId: Cpanel-restore_config_from_upload
requestBody:
content:
multipart/form-data:
schema:
properties:
file:
description: 'The configuration file data, in `multipart/form-data` format.
**Note:**
When you call this function on the command line, you **must** provide the configuration file''s filepath. For example, you would use the ''file=@/var/cpanel/cpanel.config'' parameter structure to call this function.'
example: '#### NOTICE ####
# After manually editing any configuration settings in this file,
# please run ''/usr/local/cpanel/scripts/restartsrv_cpsrvd'' or
# ''service cpanel restart'' to fully update your server''s configuration.
RS=jupiter
VFILTERDIR=/etc/vfilters
access_log=/usr/local/cpanel/logs/access_log
account_login_access=owner_root
adminuser=cpanel
allow_deprecated_accesshash=0
allow_login_autocomplete=1
allow_server_info_status_from=
allow_weak_checksums=0
allowcpsslinstall=1
allowparkhostnamedomainsubdomains=0
allowparkonothers=0
allowremotedomains=0
allowresellershostnamedomainsubdomains=0
allowunregistereddomains=1
allowwhmparkonothers=0
alwaysredirecttossl=1
apache_port=0.0.0.0:80
apache_ssl_port=0.0.0.0:443
api_shell=1
autocreateaentries=1
autodiscover_host=cpanelemaildiscovery.cpanel.net
autodiscover_mail_service=imap
autodiscover_proxy_subdomains=0
autoupdate_certificate_on_hostname_mismatch=1
awstatsbrowserupdate=0
awstatsreversedns=0
basename=cpanel
bind_deferred_restart_time=2
blockcommondomains=1
bwcycle=2
cgihidepass=1
check_zone_owner=1
check_zone_syntax=1
chkservd_check_interval=300
chkservd_hang_allowed_intervals=2
chkservd_plaintext_notify=0
cluster_autodisable_threshold=10
cluster_failure_notifications=1
conserve_memory=0
cookieipvalidation=strict
coredump=0
cpanel_locale=
cpredirect=Origin Domain Name
cpredirectssl=SSL Certificate Name
cpsrvd-domainlookup=0
create_account_dkim=1
create_account_spf=1
cycle_hours=24
database_prefix=1
debughooks=0
default_archive-logs=1
default_login_theme=cpanel
default_pkg_bwlimit=1048576
default_pkg_max_emailacct_quota=1024
default_pkg_quota=10240
default_remove-old-archived-logs=1
defaultmailaction=localuser
disable-php-as-reseller-security=0
disablequotacache=0
disk_usage_include_mailman=1
disk_usage_include_sqldbs=1
display_cpanel_doclinks=0
dnsadmin_log=0
dnsadmin_verbose_sync=0
dnsadminapp
dnslookuponconnect=0
docroot=/usr/local/cpanel/base
domainowner_mail_pass=0
dormant_services=cpdavd,cphulkd,cpsrvd,dnsadmin,spamd
dumplogs=1
email_account_quota_default_selected=userdefined
email_account_quota_userdefined_default_value=1024
email_outbound_spam_detect_action=noaction
email_outbound_spam_detect_enable=1
email_outbound_spam_detect_threshold=500
email_send_limits_count_mailman=0
email_send_limits_defer_cutoff=125
email_send_limits_max_defer_fail_percentage
email_send_limits_min_defer_fail_to_trigger_protection=5
emailarchive=0
emailpasswords=0
emailsperdaynotify
emailusers_diskusage_critical_contact_admin=1
emailusers_diskusage_critical_percent=90.0000
emailusers_diskusage_full_contact_admin=1
emailusers_diskusage_full_percent=98.0000
emailusers_diskusage_warn_contact_admin=0
emailusers_diskusage_warn_percent=80.0000
emailusers_mailbox_critical_percent=90.0000
emailusers_mailbox_full_percent=98.0000
emailusers_mailbox_warn_percent=80.0000
emailusersbandwidthexceed=0
emailusersbandwidthexceed70=0
emailusersbandwidthexceed75=0
emailusersbandwidthexceed80=1
emailusersbandwidthexceed85=0
emailusersbandwidthexceed90=0
emailusersbandwidthexceed95=0
emailusersbandwidthexceed97=0
emailusersbandwidthexceed98=0
emailusersbandwidthexceed99=0
empty_trash_days=disabled
enable_piped_logs=1
enablecompileroptimizations=0
enablefileprotect=1
engine=cpanel
enginepl=cpanel.pl
engineroot=/usr/local/cpanel
exim-retrytime=15
exim_retention_days=10
eximmailtrap=1
extracpus=0
file_upload_max_bytes
file_upload_must_leave_bytes=5
file_usage=0
ftpquotacheck_expire_time=30
ftpserver=pure-ftpd
gzip_compression_level=6
gzip_pigz_block_size=4096
gzip_pigz_processes=1
htaccess_check_recurse=2
httpd_deferred_restart_time=0
invite_sub=1
ionice_bandwidth_processing=6
ionice_cpbackup=6
ionice_dovecot_maintenance=7
ionice_email_archive_maintenance=7
ionice_ftpquotacheck=6
ionice_log_processing=7
ionice_quotacheck=6
ionice_userbackup=7
ionice_userproc=6
ipv6_control=0
ipv6_listen=0
jailapache=0
jaildefaultshell=0
jailmountbinsuid=0
jailmountusrbinsuid=0
jailprocmode=mount_proc_jailed_fallback_full
keepftplogs=0
keeplogs=0
keepstatslog=0
loadthreshold
local_nameserver_type=bind
log_successful_logins=0
logchmod=0640
logout_redirect_url=
mailbox_storage_format=maildir
mailserver=dovecot
maintenance_rpm_version_check=1
maintenance_rpm_version_digest_check=1
maxcpsrvdconnections=200
maxemailsperhour
maxmem=768
min_time_between_apache_graceful_restarts=10
minpwstrength=0
modsec_keep_hits=7
mycnf_auto_adjust_innodb_buffer_pool_size=0
mycnf_auto_adjust_maxallowedpacket=1
mycnf_auto_adjust_openfiles_limit=1
myname=cpaneld
mysql-host=localhost
mysql-version=5.5
mysqldebug=0
nobodyspam=1
nocpbackuplogs=0
nosendlangupdates=0
notify_expiring_certificates=1
numacctlist=30
overwritecustomproxysubdomains=0
overwritecustomsrvrecords=0
permit_appconfig_entries_without_acls=0
permit_appconfig_entries_without_features=0
permit_unregistered_apps_as_reseller=0
permit_unregistered_apps_as_root=0
php_max_execution_time=90
php_memory_limit=128
php_post_max_size=55
php_system_default_version=ea-php56
php_upload_max_filesize=50
phploader=
phpopenbasedirhome=0
pma_disableis=0
popbeforesmtp=0
popbeforesmtpsenders=0
postgresdebug=0
product=cPanel
proxysubdomains=1
proxysubdomainsfornewaccounts=1
proxysubdomainsoverride=1
publichtmlsubsonly=1
query_apache_for_nobody_senders=1
referrerblanksafety=0
referrersafety=0
remotewhmtimeout=35
repquota_timeout=60
requiressl=0
resetpass=1
resetpass_sub=1
root=/usr/local/cpanel
rotatelogs_size_threshhold_in_megabytes=300
roundcube_db=sqlite
rpmup_allow_kernel=0
selfsigned_generation_for_bestavailable_ssl_install=1
send_error_reports=1
send_server_configuration=1
send_server_usage=1
server_locale=en
show_reboot_banner=1
showwhmbwusageinmegs=0
signature_validation=Release and Development Keyrings
skip_chkservd_recovery_notify=0
skipanalog=0
skipapacheclientsoptimizer=0
skipawstats=0
skipboxcheck=1
skipboxtrapper=0
skipbwlimitcheck=0
skipchkservd=0
skipcpbandwd=0
skipdiskcheck=0
skipdiskusage=0
skipeximstats=0
skiphttpauth=1
skipjailmanager=0
skipmailauthoptimizer=0
skipmailman=0
skipmodseclog=0
skipnotifyacctbackupfailure=0
skipoomcheck=0
skipparentcheck=1
skiprecentauthedmailiptracker=0
skiproundcube=0
skipspamassassin=0
skipspambox=1
skipsqmail=0
skiptailwatchd=0
skipwebalizer=0
smtpmailgidonly=1
ssh_host_key_checking=0
stats_log=/usr/local/cpanel/logs/stats_log
statsloglevel=1
statthreshhold=256
system_diskusage_critical_percent=92.5500
system_diskusage_warn_percent=82.5500
tcp_check_failure_threshold=3
transfers_timeout=1800
tweak_unset_vars=
upcp_log_retention_days=45
update_log_analysis_retention_length=90
use_apache_md5_for_htaccess=1
use_information_schema=1
useauthnameservers=1
usemailformailmanurl=0
usemysqloldpass=0
userdirprotect=1
version=3.4
xframecpsrvd=0
enable_api_log=0'
format: binary
type: string
module:
description: 'The configuration module''s name.
* `Basic` — The [Basic WebHost Manager Setup](https://go.cpanel.net/whmdocsBasicasisWebHostManagerSetup) configuration.
* `Main` — The [Tweak Settings](https://go.cpanel.net/whmdocsTweakSettings) configuration.
**Important:**
This parameter is case-sensitive. You **must** enter the parameter in the correct case format; otherwise, the function will fail.'
enum:
- Basic
- Main
example: Main
type: string
required:
- module
- file
type: object
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: restore_config_from_upload
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update configuration file from backup via POST
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --input=json --output=jsonpretty \\\n restore_config_from_upload\n"
- label: HTTP Request (Wire Format)
lang: HTTP
source: 'POST /cpsess##########/json-api/restore_config_from_upload HTTP/1.1
Host: example.com:2083
Cookie: ###################################
Content-Type: application/json
Content-Length: 0
'
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '74'
/run_cpkeyclt:
get:
description: 'This function verifies the system''s license status with WebPros International, LLC''s
licensing servers. To do this, the function runs the `/usr/local/cpanel/cpkeyclt`
script.
For more information about this script and potential license problems,
read our
Installation Guide - Troubleshoot Your Installation
documentation.'
operationId: Sys-run_cpkeyclt
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: run_cpkeyclt
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return server's cPanel license status
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n run_cpkeyclt\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/run_cpkeyclt?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '62'
/save_connected_application:
post:
description: Save or update connection data about a specific connected application.
operationId: ConnectedApplications-save_connected_application
requestBody:
content:
application/json:
schema:
properties:
data:
additionalProperties: {}
description: Data associated with the connected application. There are predefined elements related to specific security scenarios, but additional data may be stored here as well.
properties:
jwt:
additionalProperties: {}
description: The contents of a JSON Web Token used during registration or updates.
example:
callback_url: https://application-1.com/api/si/servers/registrations/callback
challenge: ddd13a92-d55e-4818-a960-9776ede6cd74
email: john.doe@email.example
exp: 1401912171
ips:
- 1.1.1.1
- 2.2.2.2
iss: https://application-1.com
iss_desc: Sample application
name: John Doe
redirect_url: https://application-1/redirect
scope:
- admin:users
- admin:resellers
- admin:domains
state: xyz
type: object
private_key:
description: The name of the private key, if any, used by encryption, signing, or other security schemes used when communicating with this connected application.
example: FEF6253E6A122532430D
type: string
public_key:
description: The name of the public key, if any, sent to the connected application during registration.
example: AAF6253E6A1225324305623EE
type: string
token_name:
description: The name of the API token, if any, sent to the connected application to allow that application to make API calls on this server.
example: Application 1 API Token
type: string
type: object
name:
description: The name of the connected application.
example: application-1
type: string
type: object
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: save_connected_application
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Save application connection information
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "echo '{\"data\":{\"jwt\":{\"callback_url\":\"https://application-1.com/api/si/servers/registrations/callback,\",\"challenge\":\"ddd13a92-d55e-4818-a960-9776ede6cd74,\",\"email\":\"john.doe@email.example,\",\"exp\":\"1401912171,\",\"ips\":[\"1.1.1.1\",\"2.2.2.2\"],\"iss\":\"https://application-1.com\",\"iss_desc\":\"Sample application\",\"name\":\"John Doe,\",\"redirect_url\":\"https://application-1/redirect,\",\"scope\":[\"admin:users,\",\"admin:resellers\",\"admin:domains\"],\"state\":\"xyz\"},\"private_key\":\"FEF6253E6A122532430D\",\"public_key\":\"AAF6253E6A1225324305623EE\",\"token_name\":\"Application 1 API Token\"},\"name\":\"application-1\"}' | \\\nwhmapi1 --input=json --output=jsonpretty \\\n save_connected_application"
- label: HTTP Request (Wire Format)
lang: HTTP
source: 'POST /cpsess##########/json-api/save_connected_application HTTP/1.1
Host: example.com:2083
Cookie: ###################################
Content-Type: application/json
Content-Length: 599
{"api.version":"1","data":{"jwt":{"callback_url":"https://application-1.com/api/si/servers/registrations/callback,","challenge":"ddd13a92-d55e-4818-a960-9776ede6cd74,","email":"john.doe@email.example,","exp":"1401912171,","ips":["1.1.1.1","2.2.2.2"],"iss":"https://application-1.com","iss_desc":"Sample application","name":"John Doe,","redirect_url":"https://application-1/redirect,","scope":["admin:users,","admin:resellers","admin:domains"],"state":"xyz"},"private_key":"FEF6253E6A122532430D","public_key":"AAF6253E6A1225324305623EE","token_name":"Application 1 API Token"},"name":"application-1"}'
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '98'
/send_test_posturl:
get:
description: 'This function uses the specified URL to send a test message through the POST method of HTTP as form data.
The function automatically generates a message title and body and includes a unique string in the test message.
When the test message returns, the system searches for the ID string and returns it.
If the function does not detect the correct ID string in the returned message, the function fails.
The test''s success or failure depends on various conditions. For example:
* Valid access token.
* Network configuration.
* Service outages.
* External server rate limit.'
operationId: iContact-send_test_posturl
parameters:
- description: 'The URL and query string to send in uuencoded format. The system automatically sends the parameter''s hostname, subject, and body with the relevant data from the alert.
**Note:**
* To send additional parameters, include those keys after the URL. For example, to send the `apikey` parameter with a value of `XXXXX`, append `?apikey=XXXXX` to the URL.
* To add additional parameters and values, separate those additional values with the ampersand character (`&`) instead of the question mark character (`?`). For example, to include a `state` parameter of `Texas` and a `status` parameter of `CRITICAL`, append `?apikey=XXXXX&state=Texas&status=CRITICAL` to the URL.
* If you enter a secure URL (`https://`), that site''s certificate **must** be valid.'
in: query
name: url
required: true
schema:
example: https%3A%2F%2Fwww.example.com%2Fevents.cgi%3Fapikey%3D12345%26user%3Dusername*password%3D12345luggage
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
message_id:
description: The test message's ID.
example: 554d2cbd-efe61da3cacb
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: send_test_posturl
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Send notification URL via POST
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n send_test_posturl \\\n url='https%3A%2F%2Fwww.example.com%2Fevents.cgi%3Fapikey%3D12345%26user%3Dusername*password%3D12345luggage'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/send_test_posturl?api.version=1&url=https%253A%252F%252Fwww.example.com%252Fevents.cgi%253Fapikey%253D12345%2526user%253Dusername%2apassword%253D12345luggage
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.52'
/send_test_pushbullet_note:
get:
description: 'This function uses the specified access token to send a test Pushbullet™ note. The function automatically generates a message title and body, and it includes a unique string in the test message. When the test message returns, the system searches for the ID string and returns it.
If the function does not detect the correct ID string in the returned message, the function fails. You can also review the user''s Pushbullet channel history to confirm that the server sent and received the message.
The test''s success or failure depends on various conditions. For example:
* Valid access token.
* Network configuration.
* Service outages.
* External server rate limit.'
operationId: iContact-send_test_pushbullet_note
parameters:
- description: '
The Pushbullet token to use.
**Note:**
* To access your Pushbullet token, navigate to [Pushbullet''s My Account](https://www.pushbullet.com/account) page. It will appear under the *Access Token* heading.
* This is confidential information that your server sends via a secure channel.'
in: query
name: access_token
required: true
schema:
example: a1b2c3d4e5f6g7h8i9j0
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
message_id:
description: The test message's ID.
example: 554d2cbd-efe61da3cacb
type: string
payload:
additionalProperties: true
description: The payload from the Pushbullet server. For more information, visit [Pushbullet's API documentation](https://docs.pushbullet.com/).
example:
active: true
body: 'This message confirms that "hostname.example.com" (192.168.0.20) can send a message to you via Pushbullet.
This message was sent on Monday, May 18, 2015 at 7:12:20 PM UTC.'
created: 1431976341.38872
direction: self
dismissed: false
iden: ujw5ScArtjUsjAeRXXMLGS
modifiedx: 1431976341.39182
receiver_email: user@example.com
receiver_email_normalized: user@example.com
receiver_iden: ujw5ScArtjU
sender_email: user@example.com
sender_email_normalized: user@example.com
sender_iden: ujw5ScArtjU
sender_name: Firstname Lastname
title: 'Test message (ID: 555a3994-173a4a271062d)'
type: note
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: send_test_pushbullet_note
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Send Pushbullet™ test with access token
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n send_test_pushbullet_note \\\n access_token='a1b2c3d4e5f6g7h8i9j0'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/send_test_pushbullet_note?api.version=1&access_token=a1b2c3d4e5f6g7h8i9j0
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.52'
/servicestatus:
get:
description: This function reports which services (daemons) are enabled, installed, and monitored on your server.
operationId: Services-servicestatus
parameters:
- description: 'The service for which to view the status.
**Notes**
If you do **not** specify this parameter, the function will return the status for all of your server''s services.
Available Services:
* apache_php_fpm
* clamd
* cpanel-dovecot-solr
* cpanel_php_fpm
* cpanellogd
* cpdavd
* cpgreylistd
* cphulkd
* cpsrvd
* crond
* dnsadmin
* exim
* exim-altport
* ftpd
* httpd
* imap
* ipaliases
* lmtp
* mailman
* mysql
* named
* nscd
* p0f
* pop
* postgresql
* queueprocd
* rsyslogd
* spamd
* sshd
* syslogd
* tailwatchd
For more information about these services, read our [Service Manager](https://go.cpanel.net/whmdocsServiceManager) documentation.'
in: query
name: service
required: false
schema:
example: crond
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
service:
description: 'An object containing service information.
**Note:**
Certain [server profiles](https://go.cpanel.net/howtouseserverprofiles) **disable** specific services. For example, the Mail profile''s `ftpd` service would return a `0` value for the `enabled`, `installed`, and `monitored` returns.'
items:
properties:
display_name:
description: The service's full name.
example: Cron Daemon
type: string
enabled:
description: 'Whether the service is enabled.
* `1` - Enabled.
* `0` - Disabled. If a server profile **disables** a service, this returns a `0` value.'
enum:
- 0
- 1
example: 1
type: integer
installed:
description: 'Whether the service is installed.
* `1` - Installed.
* `0` - Uninstalled. If a server profile **disables** a service, this returns a `0` value.'
enum:
- 0
- 1
example: 1
type: integer
monitored:
description: 'Whether the server monitors the service.
* `1` - Monitored.
* `0` - Not monitored. If a server profile **disables** a service, this returns a `0` value.'
enum:
- 0
- 1
example: 1
type: integer
name:
description: 'The service''s short name.
* apache_php_fpm
* clamd
* cpanel-dovecot-solr
* cpanel_php_fpm
* cpanellogd
* cpdavd
* cpgreylistd
* cphulkd
* cpsrvd
* crond
* dnsadmin
* exim
* exim-altport
* ftpd
* httpd
* imap
* ipaliases
* lmtp
* mailman
* mysql
* named
* nscd
* p0f
* pop
* postgresql
* queueprocd
* rsyslogd
* spamd
* sshd
* syslogd
* tailwatchd
**Note:** For more information about these services, read our [Service Manager](https://go.cpanel.net/whmdocsServiceManager) documentation.'
example: crond
type: string
running:
description: 'Whether the service currently runs on the server.
**Note:**
The function does **not** return this parameter if the server does **not** monitor the service.
* `1` - Running.
* `0` - Not running.'
enum:
- 0
- 1
example: 1
type: integer
type: object
properties: {}
type: array
type: object
metadata:
properties:
command:
description: The method name called.
example: servicestatus
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return service status
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n servicestatus\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/servicestatus?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.38'
/set_application_contact_event_importance:
get:
description: 'This function sets the importance level of an application event for WHM''s
*Contact Manager*
interface (*WHM >> Home >> Server Contacts >> Contact Manager*).
For a list of available modules, use the WHM API 1
`get_all_contact_importances`
function.
**Note:**
The system creates a notification setting for the application''s events
if one does not already exist.'
operationId: Contact-set_application_contact_event_importance
parameters:
- description: The cPanel & WHM application module's name.
in: query
name: app
required: true
schema:
example: Check
type: string
- description: The event's name.
in: query
name: event
required: true
schema:
example: SecurityAdvisorStateChange
type: string
- description: 'The importance level at which to send the notification.
* `High`
* `Medium`
* `Low`
* `Disabled`'
in: query
name: importance
required: true
schema:
enum:
- High
- Medium
- Low
- Disabled
example: Disabled
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: set_application_contact_event_importance
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success.
* `0` - Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update app's event contact importance setting
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n set_application_contact_event_importance \\\n app='Check' \\\n event='SecurityAdvisorStateChange' \\\n importance='Disabled'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/set_application_contact_event_importance?api.version=1&app=Check&event=SecurityAdvisorStateChange&importance=Disabled
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/set_application_contact_importance:
get:
description: 'This function sets the importance level of an application''s events for WHM''s
*Contact Manager*
interface (*WHM >> Home >> Server Contacts >> Contact Manager*).
For a list of available modules, use the WHM API 1
`get_all_contact_importances`
function.
**Note:**
The system creates a notification setting for the application''s events if one
does not already exist.'
operationId: Contact-set_application_contact_importance
parameters:
- description: The cPanel & WHM application module's name.
in: query
name: app
required: true
schema:
example: Check
type: string
- description: 'The importance level at which to send the notification.
* `High`
* `Medium`
* `Low`
* `Disabled`'
in: query
name: importance
required: true
schema:
enum:
- High
- Medium
- Low
- Disabled
example: Disabled
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: set_application_contact_importance
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update app contact importance setting
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n set_application_contact_importance \\\n app='Check' \\\n importance='Disabled'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/set_application_contact_importance?api.version=1&app=Check&importance=Disabled
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/set_primary_servername:
get:
description: 'This function sets the primary domain hosted on an IP address and web server port. The primary domain refers to the virtual host that the server returns when a visitor directly accesses the IP address.
For example, if both `example1.com` and `example2.com` are name-based virtual hosts on IP address `192.168.0.1`, the primary virtual host appears when the visitor accesses the `http://192.168.0.1/` location.
**Important:**
When you disable the Web Server role, the system **disables** this function.'
operationId: Httpd-set_primary_servername
parameters:
- description: The `ServerName` value in Apache's `VirtualHost` section to set as primary for the IP address and port type.
in: query
name: servername
required: true
schema:
example: hostname.example.com
format: domain
type: string
- description: 'The type of virtual host to set as primary.
* `std` — Set the primary domain for the HTTP port. Typically, port `80`.
* `ssl` — Set the primary domain for the HTTPS port. Typically, port `443`.'
in: query
name: type
required: false
schema:
default: std
enum:
- std
- ssl
example: std
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: set_primary_servername
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update server's primary virtual host
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n set_primary_servername \\\n servername='hostname.example.com'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/set_primary_servername?api.version=1&servername=hostname.example.com
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/set_service_config_key:
get:
description: This function configures global properties for specific services listed in the `/var/cpanel/conf` directory.
operationId: AdvConfig-set_service_config_key
parameters:
- description: 'The configuration key''s name.
* This parameter uses the key names listed in the `/var/cpanel/conf/{service}/main` file, where {service} is the service''s name from the service parameter.
* This function does not support subkeys.'
in: query
name: key
required: true
schema:
example: mail_process_size
type: string
- description: 'The service''s name.
* A list of service names exists in the `/var/cpanel/conf` directory.'
in: query
name: service
required: true
schema:
example: dovecot
type: string
- description: The new value for the configuration key.
in: query
name: value
required: true
schema:
example: '512'
oneOf:
- type: string
- type: integer
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: set_service_config_key
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: Succeeded
type: string
result:
description: '* `1` - Success.
* `0` - Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update service configuration key
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n set_service_config_key \\\n service='dovecot' \\\n key='mail_process_size' \\\n value='512'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/set_service_config_key?api.version=1&service=dovecot&key=mail_process_size&value=512
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '58'
/sethostname:
get:
description: 'This function changes the server''s hostname.
**Warning:**
* Do **not** select a hostname that begins with `www` or a number, or a
hostname that ends with a hyphen (`-`) character.
* You **must** use a fully-qualified domain name (FQDN) that contains two periods
(for example, `hostname.example.com`).
* Do **not** choose a hostname that a cPanel account on your server will use.
* Do **not** choose a potential service subdomain (proxy subdomain) as a hostname
(for example, `cpanel.example.com` or `whm.example.com`).
**Important:**
If you update your hostname, the system blocks user access to cPanel''s *Calendars and Contacts* interface (*cPanel >> Home >> Email >> Calendars and Contacts*).
The system restores access to this interface after the hostname update finishes.
For more information, read our
Interface Lock Scripts
documentation.
**Note:**
Whenever you change the server''s hostname, you **must** use one of the following methods:
* Use WHM''s
*Change Hostname*
interface (*WHM >> Home >> Networking Setup >> Change Hostname*).
* Call WHM API 1''s `sethostname` function.
* Run the
`/usr/local/cpanel/bin/set_hostname` utility
as the `root` user.
These methods ensure that all of the necessary system and service changes occur.'
operationId: Hostname-sethostname
parameters:
- description: 'The server''s new hostname.
**Important:**
The server''s hostname should **never** be identical to the domain name. For example,
if the domain is `example.com`, you could use a hostname such as `server1.example.com`,
but **not** `example.com`. '
in: query
name: hostname
required: true
schema:
example: hostname.example.com
format: hostname
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: sethostname
type: string
output:
description: A list of the function's output.
properties:
messages:
description: Any of the function's output messages.
example: Updating cPanel license...Done. Update succeeded.
type: string
warnings:
description: Any of the function's warnings.
example: The hostname was already set to hostname.example.com, syncing configuration only.
type: string
type: object
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: "Stopping cPHulkd during hostname change\nService “cphulkd” is already stopped.
\n
\nStartup Log
\n Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
\n
\ncphulkd stopped successfully.
\nStopping MySQL during hostname change\nChanging hostname in kernel to hostname.example.com\nAltered hostname in /etc/sysconfig/network\nUpdating cPHulkd\nStarting cPHulkd\n(XID qju5cf) The “cphulkd” service is not configured.\nRestarting Exim\nWaiting for “exim” to restart ………waiting for “exim” to initialize ………finished.
\n
\nService Status
\nexim (/usr/sbin/exim -ps -bd -q1h -oP /var/spool/exim/exim-daemon.pid) is running as mailnull with PID 16943 (systemd+/proc check method).
\n
\nStartup Log
\n Jul 29 15:03:14 hostname.example.com systemd[1]: Starting Exim is a Mail Transport Agent, which is the program that moves mail from one machine to another....
\nJul 29 15:03:14 hostname. example.com systemd[1]: Can't open PID file /var/spool/exim/exim-daemon.pid (yet?) after start: No such file or directory
\nJul 29 15:03:14 hostname.example.com systemd[1]: Started Exim is a Mail Transport Agent, which is the program that moves mail from one machine to another..
\n
\nLog Messages
\n2020-07-29 15:03:14 exim 4.93 daemon started: pid=16943, -q1h, listening for SMTP on port 25 (IPv6 and IPv4) port 587 (IPv6 and IPv4) and for SMTPS on port 465 (IPv6 and IPv4)
\n2020-07-29 14:57:20 exim 4.93 daemon started: pid=16089, -q1h, listening for SMTP on port 25 (IPv6 and IPv4) port 587 (IPv6 and IPv4) and for SMTPS on port 465 (IPv6 and IPv4)
\n
\nexim restarted successfully.
\nUpdating Apache configuration\nUpdating cPanel license...Done. Update succeeded.\nA DNS record already exists for “hostname.example.com”.\nThe system has queued the hostname changes for the DAV services.\nUsers cannot access the DAV features that use these services until\nthe system has finished updates to the hostname. After the system adjusts a\nspecific user’s database, it restores their access to the DAV services.\n\nYou will receive a notification when the system completes the update for all users.\nWaiting for “mysql” to start ……waiting for “mysql” to initialize ………finished.
\n
\nService Status
\nmysqld (/usr/sbin/mysqld --daemonize --pid-file= /var/run/mysqld/mysqld.pid) is running as mysql with PID 16886 (systemd+/proc check method).
\n
\nStartup Log
\nJul 29 15:03:10 hostname.example.com systemd[1]: Starting MySQL Server...
\nJul 29 15:03:11 hostname.example.com systemd[1]: Started MySQL Server.
\n
\nLog Messages
\n2020-07-29T20:03:11.894935Z 0 [Note] /usr/sbin/mysqld: ready for connections.
\n 2020-07-29T20:03:09.442015Z 0 [Note] /usr/sbin/mysqld: Shutdown complete
\n2020-07-29T19:57:17.010586Z 0 [Note] /usr/sbin/mysqld: ready for connections.
\n
\nmysql started successfully.
"
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update server's hostname
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n sethostname \\\n hostname='hostname.example.com'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/sethostname?api.version=1&hostname=hostname.example.com
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11'
/start_cpanel_update:
get:
description: This function starts an update of cPanel & WHM.
operationId: Cpanel-start_cpanel_update
parameters:
- description: 'The cPanel & WHM update’s mode of operation.
* null — Only reinstall cPanel & WHM if a newer version is available.
* `force` — Force a reinstall of cPanel & WHM, even if the system is up to date.
* `sync` — Update the currently-installed version of cPanel & WHM instead of downloading
a newer version. This ensures the current version installed has the correct files.'
in: query
name: mode
required: false
schema:
default: null
enum:
- force
- sync
example: force
type:
- string
- 'null'
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
is_new:
description: 'Whether the update process started as a result of this request.
* `1` — The update process started as a result of this request.
* `0` — The update process existed prior to this request.'
enum:
- 1
- 0
example: 1
type: integer
log_path:
description: The filesystem path to the update process’s log file.
example: /var/cpanel/updatelogs/update.1604521159.log
format: path
type: string
pid:
description: The update process’s ID.
example: 23456
minimum: 2
type: integer
type: object
metadata:
properties:
command:
description: The method name called.
example: start_cpanel_update
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 1
- 0
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Start cPanel & WHM update
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: whmapi1 start_cpanel_update
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/start_cpanel_update?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '94'
/start_profile_activation:
get:
description: 'This function activates a server profile.
**Note:**
* If a server profile enables a service, the system will **also** enable service monitoring. To disable a service''s monitoring, use WHM''s *Service Manager* interface (*WHM >> Home >> Service Configuration >> Service Manager*).
* For a list of the server''s available profiles, use the `get_available_profiles` function.'
operationId: Cpanel-start_profile_activation
parameters:
- description: 'The code value of the server profile.
* `STANDARD` — The Standard profile.
* `DATABASENODE` — The Database profile.
* `MAILNODE` — The Mail profile.
* `DNSNODE` — The DNS profile.'
in: query
name: code
required: true
schema:
enum:
- STANDARD
- DATABASENODE
- MAILNODE
- DNSNODE
example: MAILNODE
type: string
- content:
application/json:
schema:
additionalProperties:
description: 'Each key is a role. Each key **must** have one of the following values:
* `1` — Enable the role.
* `0` — Disable the role.'
enum:
- 1
- 0
example: 0
type: integer
example:
DNS: 0
SpamFilter: 1
type: object
description: "The optional roles to enable or disable with the profile, in\nJSON format. You **must** URI-encode this value.\n\n**Note:**\n\n* As an example, if you wished to enable `SpamFilter` and disable `DNS`, the JSON object would be:\n\n `{ \"SpamFilter\": 1, \"DNS\": 0 }`.\n\n* This parameter does **not** enable optional roles for profiles that do **not** possess any optional roles.\n* If you do not pass this parameter, the system **disables** a profile's optional roles, if any exist."
in: query
name: optional
required: false
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
log_id:
description: The profile activation log ID. The system creates the log files in the `/var/cpanel/logs/activate_profile/` directory.
example: 17053.10418168.1533478604
type: string
type: object
metadata:
properties:
command:
description: The method name called.
example: start_profile_activation
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update server node profile
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n start_profile_activation \\\n code='MAILNODE'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/start_profile_activation?api.version=1&code=MAILNODE
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '76'
/system_needs_reboot:
get:
description: 'This function determines if your system requires a reboot to apply quotas, software package updates, or kernel updates.
**Important:**
This function **cannot** detect whether your system needs a reboot if you use cPanel & WHM inside of a Linux Container (LXC).'
operationId: ApplicationVersions-system_needs_reboot
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
details:
description: An object that contains reasons why the system requires a reboot.
properties:
kernel:
description: 'An object of kernel versions.
**Note:**
The function **only** returns this object if the kernel updates and requires a reboot.'
properties:
boot_version:
description: The version that the system's kernel updated to.
example: 3.10.0-514.10.2.e17.x86_64
type: string
running_version:
description: The kernel version that the server currently runs.
example: 3.10.0-514.10.2.e17.x86_64
type: string
type: object
quota:
description: 'Whether the system requires a reboot to enable quotas.
* `1` — System requires a reboot to enable quotas.
**Note:**
The function **only** returns this value if the kernel updates and requires a reboot.'
enum:
- 1
example: 1
type: integer
updates:
description: 'A list of software packages that require an update and their most recent versions.
**Note:**
The function **only** returns this object if software packages on your server require updates.'
example:
glibc: 2.17-157.el7_3.1
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: system_needs_reboot
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
needs_reboot:
description: 'Whether the system requires a reboot.
* `1` — System requires a reboot.
* `0` — System does **not** require a reboot.'
enum:
- 0
- 1
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return whether system needs reboot
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n system_needs_reboot\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/system_needs_reboot?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '64'
/systemloadavg:
get:
description: 'This function retrieves the system''s load average.
**Note:**
The values the function returns represent a percentage of the CPU''s processor capacity.'
operationId: Cpanel-systemloadavg
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
fifteen:
description: The server's load average over the previous fifteen minutes.
example: 0.19
type: number
five:
description: The server's load average over the previous five minutes.
example: 0.18
type: number
one:
description: The server's load average over the previous minute.
example: 0.17
type: number
metadata:
properties:
command:
description: The method name called.
example: systemloadavg
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Return system load average
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n systemloadavg\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/systemloadavg?api.version=1
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.28'
/unlink_server_node:
get:
description: 'This function unlinks a remote server node from your server.
**Important:**
This function does **not** unlink mail servers that are currently in use.
You **must** first delete any accounts that use the linked mail server.'
operationId: Cpanel-unlink_server_node
parameters:
- description: The name of a linked remote server node.
in: query
name: alias
required: true
schema:
example: example
type: string
- description: 'What to do with the linkage’s stored API token on the remote server node:
- `leave`: Leave the API token active.
- `expire_24h`: Set the API token to expire after 24 hours. This can be undone.'
in: query
name: handle_api_token
required: false
schema:
default: leave
enum:
- leave
- expire_24h
example: expire_24h
type: string
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
alias:
description: The name of a linked remote server node.
example: example
type: string
enabled_services:
description: A list of services enabled on the linked remote server node.
items:
example: apache_php_fpm
type: string
type: array
hostname:
description: The remote server node's hostname.
example: example.com
format: hostname
type: string
last_check:
description: The last time that the server queried the current status of the remote server.
example: 1556576165
format: unix_timestamp
type: integer
system_settings:
description: A list of the `worker_capabilities` return's system settings.
example:
Mail:
globalspamassassin: '0'
properties: {}
type: object
tls_verified:
description: 'Whether the remote server node has a valid [SSL certificate](https://docs.cpanel.net/knowledge-base/security/guide-to-ssl/).
* `1` - The remote server node has a valid SSL certificate.
* `0` - The remote server node does not have a valid SSL certificate.'
enum:
- 0
- 1
example: 1
type: integer
username:
description: The username required to make API calls to the linked remote server node.
example: root
type: string
version:
description: The version of cPanel & WHM installed on the remote server node.
example: 11.86.0.0
type: string
worker_capabilities:
additionalProperties:
description: 'The current role of the linked remote server node. This will
return the required options for the role, if any exist.
**Note:**
This return''s name is the name of the remote server node''s current
role.'
items:
type: string
type: object
description: 'A group of services required for a remote server node to perform a
specific task.'
example:
Mail: {}
type: object
type: object
metadata:
properties:
command:
description: The method name called.
example: unlink_server_node
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is 0. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed: Check the reason field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Remove linked server node
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n unlink_server_node \\\n alias='example'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/unlink_server_node?api.version=1&alias=example
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/update_configclusterserver:
get:
description: 'This function updates the username or remote access key for a cluster server.
**Important:**
* If you log in to a configuration cluster server that is *not* the parent server, *nothing* will indicate that the server is part of a configuration cluster. You can *only* view and modify this information from the master server.
* We recommend that you run this function as a `POST` request with SSL enabled:
* The length of the remote access key may cause problems if you run the function with the `GET` method (for example, a URL in your browser).
* You risk security problems if you enter a remote access key through the `GET` method.'
operationId: ClusterServer-update_configclusterserver
parameters:
- description: The remote configuration cluster server's name or IP address.
in: query
name: name
required: true
schema:
example: example.com
type: string
- description: The new [remote access key](https://docs.cpanel.net/whm/clusters/remote-access-key/). If you do **not** specify a value, the function does not update the remote access key.
in: query
name: key
required: false
schema:
example: d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0
type: string
- description: The server's `root`-level account username. If you do not specify a value, the function does not update the username.
in: query
name: user
required: false
schema:
example: root
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: update_configclusterserver
type: string
name:
description: The remote configureation cluster server's name.
example: example.com
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` - Success
* `0` - Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
signature:
description: The new remote access key.
example: d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0:d0
type: string
user:
description: The server's `root`-level account username.
example: root
type: string
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update configuration cluster server credentials
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n update_configclusterserver \\\n name='example.com'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/update_configclusterserver?api.version=1&name=example.com
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '11.44'
/update_contact_email:
get:
description: 'This function updates the contact email address in the `wwwacct.conf` file.
For more information, read our
Installation Guide - Customize Your Installation
documentation.'
operationId: Wwwacct-update_contact_email
parameters:
- description: 'The contact email address to add as the `wwwacct.conf` file''s `CONTACTEMAIL`
setting.'
in: query
name: contact_email
required: true
schema:
example: user@example.com
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: update_contact_email
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update WHM contact email address
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n update_contact_email \\\n contact_email='user@example.com'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/update_contact_email?api.version=1&contact_email=user%40example.com
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '76'
/update_linked_server_node:
get:
description: 'This function updates a linked remote cPanel server node.
**Important:**
This function **requires** the use of an API token. For more information,
read our Guide to API Authentication - API Tokens in WHM
documentation.'
operationId: Cpanel-update_linked_server_node
parameters:
- description: The name of a linked remote cPanel server node.
in: query
name: alias
required: true
schema:
example: example
type: string
- description: "The API token required to make API calls to the remote cPanel server node.\n\nThis value defaults to the existing API token.\n\n**Note:**\n\n The API token **must** have `root`-level access on the remote cPanel server node."
in: query
name: api_token
required: false
schema:
example: 23ZX8RA1FTE1IVJRL90MB5CREDS4UE2H
type: string
- description: 'A new remote cPanel server node''s hostname. The system will update your remote
cPanel server node''s hostname to this value.
This value defaults to the existing hostname.
**Note:**
This parameter does **not** accept an IP address.'
in: query
name: hostname
required: false
schema:
example: example.com
type: string
- description: 'Whether to skip [SSL/TLS verification](https://docs.cpanel.net/knowledge-base/security/guide-to-ssl/).
The system performs this action when it queries the remote cPanel server node.
**Note:**
If the remote cPanel server is SSL/TLS verified, you **cannot** skip verification.'
in: query
name: skip_tls_verification
required: false
schema:
default: 1
enum:
- 0
- 1
example: 0
type: integer
- description: 'The username required to make API calls to the remote cPanel server node.
This value defaults to the existing username.
**Note:**
The username **must** have `root`-level access on the remote cPanel server node.'
in: query
name: username
required: false
schema:
example: root
type: string
responses:
'200':
content:
application/json:
schema:
properties:
metadata:
properties:
command:
description: The method name called.
example: update_linked_server_node
type: string
reason:
description: The reason the API function failed when the `metadata.result` field is `0`. This field may display a success message when a function succeeds.
example: OK
type: string
result:
description: '* `1` — Success.
* `0` — Failed. Check the `reason` field for more details.'
enum:
- 0
- 1
example: 1
type: integer
version:
description: The version of the API function.
example: 1
type: integer
type: object
description: HTTP Request was successful.
summary: Update linked server node settings
tags:
- Server Administration
x-codeSamples:
- label: CLI
lang: Shell
source: "whmapi1 --output=jsonpretty \\\n update_linked_server_node \\\n alias='example'\n"
- label: URL
lang: HTTP
source: https://hostname.example.com:2087/cpsess##########/json-api/update_linked_server_node?api.version=1&alias=example
x-cpanel-api-version: WHM API 1
x-cpanel-available-version: '86'
/verify_posturl_access:
get:
description: 'This function calls the WHM API 1 `send_test_posturl` function for
your specified POST notification URLs. Users can specify POST notification
URLs in the *Contact Information* section of WHM''s
*Basic WebHost Manager Setup*
interface (*WHM >> Home >> Server Configuration >> Basic WebHost Manager Setup*).
**Note:**
If the *Contact Information* section of WHM''s
*Basic WebHost Manager Setup*
interface (*Home >> Server Configuration >> Basic WebHost Manager Setup*) contains
multiple POST URLs, the function will return an array that contains the results
for each URL.'
operationId: iContact-verify_posturl_access
parameters: []
responses:
'200':
content:
application/json:
schema:
properties:
data:
properties:
results:
description: An array of objects containing POST notification URL data.
items:
properties:
result:
description: A list of data about the POST notification URLs.
properties:
message_id:
description: The test message's ID.
example: 88M7
type: string
payload:
description: A list that contains information about a POST notification URL.
properties:
content:
description: The URLs content.
example: "\n\n
This domain is for use in illustrative examples in documents. You may use this\n domain in literature without prior coordination or asking for permission.
\n \n