v51

OpenAPI 3.0.0raw.githubusercontent.com2026-08-01267339950.6 KB
WordPress: Installations

Install WordPress

Install WordPress on an existing website.

The website must already exist before calling this endpoint. To create a new website first, use POST /api/hosting/v1/websites and poll GET /api/hosting/v1/websites until it appears.

Call GET /api/hosting/v1/wordpress/installations filtered by username and domain before proceeding to check whether WordPress is already installed on the target domain/path. If WordPress already exists and overwrite is false (the default), the async job will fail.

This operation is asynchronous: a successful response only means the install job has been queued, not that WordPress is ready. Installation typically takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered by username and domain to track progress. When the installation appears in that list, WordPress is ready.

post/api/hosting/v1/accounts/{username}/wordpress/installations

Path parameters

usernamestring required
Example:u123456789

Request body

domainstring required

Domain of the existing website where WordPress will be installed

site_titlestring required

Title of the WordPress site

languagestring nullable

WordPress locale. Defaults to en_US when omitted.

directorystring nullable

Relative directory to install WordPress into. Defaults to the website root when omitted.

overwriteboolean nullable

When false (default), does not replace an existing installation. If WordPress is already installed on the domain/path, the async install job fails unless true.

auto_updates'all' | 'none' | 'minor' nullable

WordPress core auto-update policy

versionstring nullable

WordPress core version to install. If omitted, the latest core version compatible with the account vhost PHP version is selected.

Example request

{
  "domain": "example.com",
  "site_title": "My site",
  "language": "en_US",
  "directory": "public_html",
  "auto_updates": "minor",
  "version": "6.5.2",
  "credentials": {
    "email": "owner@example.com",
    "login": "admin",
    "password": "********"
  },
  "database": {
    "name": "mydb",
    "password": "********"
  }
}

Response

Success empty response

messagestring

Example response

{
  "message": "Request accepted"
}