### Example: Install Reseller Theme
Source: https://docs.plesk.com/en-US/obsidian/administrator-guide/customizing-the-plesk-interface/using-custom-themes/installing-themes-to-plesk.70908
An example demonstrating how to install a theme customized by a reseller named 'JDoe'.
```bash
plesk bin branding_theme --install -vendor "JDoe" -source /usr/local/psa/theme.zip
```
--------------------------------
### Example: Installing Custom Theme for Reseller
Source: https://docs.plesk.com/en-US/obsidian/administrator-guide/customizing-the-plesk-interface/using-custom-themes/choosing-the-color-scheme.78086
An example of installing a custom branding theme for a reseller named 'reseller1' from a specified zip file.
```bash
plesk bin branding_theme --install -vendor "reseller1" -source /usr/local/psa/tmp/theme.zip
```
--------------------------------
### Installing Application (without Database and Settings)
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-aps-catalog-and-applications/installing-application-on-domain-or-subdomain.64496/#other-errors
This example shows how to install an application on a subdomain when the application does not require a database and has no settings.
```APIDOC
## POST /api/v2/application/install
### Description
Installs a specified application on a subdomain. This is applicable for applications that do not require a database or have no settings.
### Method
POST
### Endpoint
/api/v2/application/install
### Parameters
#### Request Body
- **subdomain-name** (string) - Required - The name of the subdomain where the application will be installed.
- **package-id** (integer) - Required - The ID of the application package to install.
### Request Example
```xml
subdomain.example.com
5
```
### Response
#### Success Response (200)
- **status** (string) - Indicates the status of the operation ('ok' or 'error').
#### Response Example
```xml
ok
```
```
--------------------------------
### Example Installation GUID for Log File Path
Source: https://docs.plesk.com/en-US/obsidian/administrator-guide/website-management/wp-toolkit.73391/#copying-data-from-one-wordpress-website-to-another
This shows an example of a unique identifier for a WordPress installation, used in constructing the path to its log files.
```text
/var/log/plesk/modules/wp-toolkit/action-logs/{installation GUID}/{installation GUID}.log
where {installation GUID} is the installation’s unique identifier, for example, `03bc4edc-7a80-483e-8ae0-ab560e661c98`.
```
--------------------------------
### Install Application with Database and Settings
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-aps-catalog-and-applications/installing-application-on-domain-or-subdomain.64496
This example demonstrates how to install the Serendipity application on a domain, including specifying database credentials and application settings.
```APIDOC
## POST /api/v2/aps/install
### Description
Installs an application on a specified domain or subdomain, with options for database configuration and custom settings.
### Method
POST
### Endpoint
/api/v2/aps/install
### Request Body
- **domain-name** (string) - Required - The name of the domain where the application will be installed.
- **package** (object) - Required - Details of the application package to install.
- **name** (string) - Required - The name of the application package.
- **version** (string) - Optional - The specific version of the application package.
- **release** (string) - Optional - The release number of the application package.
- **vendor** (string) - Optional - The vendor of the application package.
- **packager** (string) - Optional - The packager of the application package.
- **database** (object) - Optional - Configuration for the application's database.
- **name** (string) - Required - The name of the database.
- **login** (string) - Required - The database login username.
- **password** (string) - Required - The database password.
- **server** (string) - Required - The database server address and port (e.g., '10.52.78.201:3306').
- **prefix** (string) - Optional - A prefix for database tables.
- **settings** (array) - Optional - An array of application-specific settings.
- **setting** (object) - Represents a single setting.
- **name** (string) - Required - The name of the setting.
- **value** (string) - Required - The value of the setting.
### Request Example
```xml
example.com
serendipity
1.1.2
33
odin.com
odin.com
s9DB
s9user
s9password
10.52.78.201:3306
s9_
admin_p_name
admin
```
### Response
#### Success Response (200)
- **result** (object) - Wraps the response from the server.
- **status** (string) - Execution status: 'ok' or 'error'.
#### Response Example
```xml
ok
```
```
--------------------------------
### Get Install Settings Template
Source: https://docs.plesk.com/en-US/obsidian/cli-linux/using-command-line-utilities/aps-application-catalog.63094
Creates a settings template file for installing applications with the "--install" command.
```bash
plesk bin aps -it /tmp/template.xml -package-id 1 -domain example.com -ssl false -url-prefix blog -db-name WordPress -db-user BlogAdmin -passwd P4$$w0rd
```
--------------------------------
### Installing the Serendipity application
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-aps-catalog-and-applications/installing-application-on-domain-or-subdomain.64496/#installing-the-linkpoint-application
This example demonstrates how to install the Serendipity application on a domain, including specifying package details, database configuration, and settings.
```APIDOC
## POST /api/v1/application/install
### Description
Installs the Serendipity application on a specified domain with detailed package information, database configuration, and custom settings.
### Method
POST
### Endpoint
/api/v1/application/install
### Request Body
- **domain-name** (string) - Required - The name of the domain to install the application on.
- **package** (object) - Required - Details of the application package.
- **name** (string) - Required - The name of the application package.
- **version** (string) - Optional - The version of the application package.
- **release** (string) - Optional - The release of the application package.
- **vendor** (string) - Optional - The vendor of the application package.
- **packager** (string) - Optional - The packager of the application package.
- **database** (object) - Optional - Configuration for the application's database.
- **name** (string) - Required - The name of the database.
- **login** (string) - Required - The database login username.
- **password** (string) - Required - The database password.
- **server** (string) - Required - The database server address and port.
- **prefix** (string) - Optional - The table prefix for the database.
- **settings** (array) - Optional - An array of application-specific settings.
- **setting** (object) - Required - A single setting.
- **name** (string) - Required - The name of the setting.
- **value** (string) - Required - The value of the setting.
### Request Example
```xml
example.com
serendipity
1.1.2
33
odin.com
odin.com
s9DB
s9user
s9password
10.52.78.201:3306
s9_
admin_p_name
admin
```
### Response
#### Success Response (200)
- **result** (object) - Wraps the response retrieved from the server.
- **status** (string) - Specifies the execution status of the operation. Allowed values: ok | error.
#### Response Example
```xml
ok
```
```
--------------------------------
### Installing Serendipity Application
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-aps-catalog-and-applications/installing-application-on-domain-or-subdomain.64496/#bad-settings-errors
This example demonstrates how to install the Serendipity application on a domain, including package details, database configuration, and specific settings.
```APIDOC
## POST /api/v2/application/install
### Description
Installs a specified application on a given domain or subdomain with optional database and settings configuration.
### Method
POST
### Endpoint
/api/v2/application/install
### Request Body
- **domain-name** (string) - Optional - The name of the domain where the application will be installed.
- **subdomain-name** (string) - Optional - The name of the subdomain where the application will be installed.
- **package** (object) - Required if `package-id` is not provided - Details of the application package to install.
- **name** (string) - Required - The name of the application package.
- **version** (string) - Optional - The specific version of the application package.
- **release** (string) - Optional - The release number of the application package.
- **vendor** (string) - Optional - The vendor of the application package.
- **packager** (string) - Optional - The packager of the application package.
- **package-id** (integer) - Optional - The ID of the application package to install. Use this if `package` details are not provided.
- **database** (object) - Optional - Configuration for the database required by the application.
- **name** (string) - Required - The name of the database.
- **login** (string) - Required - The login username for the database.
- **password** (string) - Required - The password for the database user.
- **server** (string) - Required - The database server address and port (e.g., '10.52.78.201:3306').
- **prefix** (string) - Optional - A prefix for database tables.
- **settings** (array) - Optional - An array of settings for the application.
- **setting** (object) - Represents a single application setting.
- **name** (string) - Required - The name of the setting.
- **value** (string) - Required - The value of the setting.
### Request Example
```xml
example.com
serendipity
1.1.2
33
s9y.org
odin.com
s9DB
s9user
s9password
10.52.78.201:3306
s9_
admin_p_name
admin
```
### Response
#### Success Response (200 OK)
Returns a status indicating the success of the installation.
- **status** (string) - The execution status of the operation. Allowed values: ok | error.
#### Response Example
```xml
ok
```
### Error Handling
- **1013**: Specified object (domain, subdomain, package) is not found.
- **1019**: Application cannot be installed with the settings specified.
- **1100**: Application requirements are not satisfied.
```
--------------------------------
### Example: Successful Component Installation Response
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-plesk-components/installing-components.40336/#request-packet-structure
This is an example of a successful response packet after installing a Plesk component.
```xml
ok
```
--------------------------------
### Response for Getting Add-on Plans by Multiple Names
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-addon-plans/getting-information-on-addon-plans.66434/#request-packet-structure
This is an example response when requesting multiple add-on plans by name. It shows the structure for each plan's details, including status, ID, name, and GUID.
```xml
ok
13
first_plan
a2c68e48-982a-1807-c2fb-3708bca41836
admin
...
ok
14
second_plan
ccede5cd-3ca3-1db9-f46d-aca67beea2b5
admin
...
```
--------------------------------
### Create a New Domain using site.exe
Source: https://docs.plesk.com/en-US/obsidian/cli-win/67068
Use this command to set up a new domain, specifying its name and the subscription it belongs to. Ensure the subscription already exists.
```bash
plesk bin site.exe --create example.com -webspace-name testdomain.tst
```
--------------------------------
### Example: Install PHP 5.6
Source: https://docs.plesk.com/en-US/obsidian/administrator-guide/plesk-administration/securing-plesk/plesk-for-linux-securing-outdated-php-versions.80043
This is an example command to install the secured PHP 5.6 version on a Plesk server.
```bash
plesk ext tuxcare-php --install-configure -version 5.6
```
--------------------------------
### Retrieve All Installed Extensions and Their States
Source: https://docs.plesk.com/en-US/obsidian/extensions-guide/plesk-features-available-for-extensions/retrieve-data-from-plesk/installed-extensions%E2%80%99-meta-data.79557
This snippet retrieves a list of all installed extensions and iterates through them to get their IDs and activity states. Use this to get a general overview of installed extensions.
```php
$extensions = pm_Extension::getExtensions();
foreach ($extensions as $extension) {
$extension->getId();
$extension->isActive();
}
```
--------------------------------
### Install License Key from File
Source: https://docs.plesk.com/en-US/obsidian/cli-win/71030
Installs a license key by providing the path to its XML file.
```bash
plesk bin license.exe -i key.xml
```
--------------------------------
### Install Application on Domain or Subdomain
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-aps-catalog-and-applications/configuring-package-properties.66511/#samples
This sample demonstrates how to install an application on a specific domain or subdomain. It shows the request and response packet structures for this operation.
```xml
example.com
1
```
--------------------------------
### XML Request Packet to Get All Installed Extensions
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-plesk-extensions/retrieving-information-on-installed-extensions.79280
This XML packet structure is used to initiate a request for information on all installed extensions via the 'get' operation.
```xml
```
--------------------------------
### Configuring Hosting Settings for a Service Plan
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-service-plans/creating-a-service-plan.32908
This example shows how to create a service plan and configure its physical hosting settings, such as enabling SSL.
```APIDOC
## Configuring Hosting Settings for a Service Plan
### Description
Creates a service plan with specific physical hosting settings. This example configures the plan to enable SSL.
### Method
POST (Implied by XML packet structure)
### Endpoint
`/api/v2/service-plans` (Implied)
### Request Body
```xml
base_plan
ssl
true
```
```
--------------------------------
### Example: Creating a Customer Account with Settings
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-customer-accounts/creating-customer-accounts.28789/#creating-multiple-customer-accounts
This XML request demonstrates the creation of a customer account, including general information such as company name, contact person, login credentials, and contact details.
```xml
LogicSoft Ltd.
Stephen Lowell
stevelow
Jhtr66fBB
0
416 907 9944
928 752 3905
host@logicsoft.net
105 Brisbane Road, Unit 2
Toronto
CA
```
--------------------------------
### Get Plesk Monitoring Installation Status
Source: https://docs.plesk.com/en-US/obsidian/cli-linux/80001
Shows the result of the Monitoring installation. Used with the `--installation` command.
```bash
plesk ext monitoring --installation --get-status
```
--------------------------------
### Successful Installation Response
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-plesk-extensions/installing-plesk-extensions.76733/#samples
Example of a successful response packet after an extension installation operation.
```xml
ok
```
--------------------------------
### Install Application
Source: https://docs.plesk.com/en-US/obsidian/cli-linux/using-command-line-utilities/aps-application-catalog.63094
Installs an application on a website using an XML-formatted settings file.
```bash
plesk bin aps -i /home/apps/WordPress.xml -package-id 13 -domain example.com -ssl false -url-prefix blog -db-name WordPress -db-user BlogAdmin -passwd P4$$w0rd
```
--------------------------------
### Create Hosting Plan Add-on
Source: https://docs.plesk.com/en-US/obsidian/cli-linux/using-command-line-utilities/service_plan_addon-hosting-plan-addons.66538
This example demonstrates how to create a new hosting plan add-on using the `service_plan_addon` utility. This specific add-on allows subscribed users to create ten additional websites.
```bash
plesk bin service_plan_addon -c "Ten additional websites" -max_site 10
```
--------------------------------
### Get Installed Extensions Request
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-plesk-extensions/retrieving-information-on-installed-extensions.79280/#request-packet-structure
This snippet shows the XML request packet structure for the 'get' operation to retrieve information about installed extensions. The 'filter' node is optional and can be used to specify an extension ID.
```APIDOC
## GET /api/v1/extensions
### Description
Retrieves information on installed Plesk extensions. This operation allows fetching details about extensions, optionally filtered by their ID.
### Method
GET
### Endpoint
/api/v1/extensions
### Parameters
#### Query Parameters
- **filter.id** (string) - Optional - Specifies the ID of the extension to retrieve information for.
### Request Example
```xml
wp-toolkit
```
### Response
#### Success Response (200)
- **status** (string) - Indicates the execution status ('ok' or 'error').
- **details** (object) - Wraps the information about the retrieved extension.
- **id** (string) - The ID of the retrieved extension.
- **name** (string) - The name of the retrieved extension.
- **version** (string) - The version of the retrieved extension.
- **release** (integer) - The release number of the retrieved extension.
- **active** (boolean) - Indicates if the retrieved extension is enabled or disabled.
#### Response Example
```xml
ok
wp-toolkit
WP Toolkit
2.5.0
763
true
```
```
--------------------------------
### Run Plesk One-Click Installation
Source: https://docs.plesk.com/en-US/obsidian/deployment-guide/plesk-installation-and-upgrade-on-single-server/1click-plesk-installation/installing-plesk-for-windows-in-one-click.76448
Execute this command in the Windows command prompt from the directory where Plesk Installer was saved to start the one-click installation with the recommended settings.
```bash
plesk-installer.exe --select-product-id=panel --select-release-latest --installation-type=recommended
```
--------------------------------
### Install Application Package from Specific Catalog
Source: https://docs.plesk.com/en-US/obsidian/api-rpc/about-xml-api/reference/managing-aps-catalog-and-applications/downloading-application-package-from-aps-catalog.64494
Example of a request to install an application package from a specific APS catalog.
```xml
2
com.example.anotherapp
```