Hosting: Websites

Start website setup

Starts a website setup on a Web or Cloud hosting order and returns the created setup right away; the website itself is provisioned asynchronously. Poll the list website setups endpoint with the domain filter every 10 to 15 seconds and wait for status: completed before uploading files, deploying or creating databases.

Omit type for an empty website. type: wordpress installs WordPress in the website root with the admin user, email and password from wordpress, the domain as the site title, and en_US when wordpress.language is omitted. The headless types (headless_wordpress, headless_ecommerce, headless_pocketbase) create a headless website; headless_wordpress additionally installs WordPress into the cms directory of the website root with generated credentials.

Omit domain to set the website up on a generated temporary free subdomain.

The order must already have a hosting account: to create the first website on a new hosting plan use the create website endpoint, which takes the datacenter_code. Returns 404 when the order does not exist or is not accessible to the authenticated client, and 409 with a Retry-After header while a setup for the same domain is still running.

post/api/hosting/v1/orders/{order_id}/onboardings

Path parameters

order_idinteger required
Example:12345

Hosting order ID. List orders to find available IDs.

Request body

type'wordpress' | 'headless_wordpress' | 'headless_ecommerce' | 'headless_pocketbase' nullable

Website type. Omit or null for an empty website. wordpress installs WordPress in the website root and requires wordpress. The headless types (headless_wordpress, headless_ecommerce, headless_pocketbase) create a headless website; headless_wordpress additionally installs WordPress into the cms directory with generated credentials.

domainstring nullable

Customer-owned domain. Cannot start with "www.". Omit or null to set the website up on a generated temporary free subdomain.

Example request

{
  "type": "wordpress",
  "domain": "example.com",
  "wordpress": {
    "language": "en_US",
    "admin": {
      "user": "site_admin",
      "password": "S3curePass123",
      "email": "admin@example.com"
    }
  }
}

Response

Created response

domainstring required

Domain of the website being set up.

usernamestring required

Hosting account username.

typestring nullable

Website type requested for the setup: wordpress, headless_wordpress, headless_ecommerce or headless_pocketbase. null for an empty website. Setups started outside this API may report other legacy types.

status'running' | 'completed' | 'failed' required

running while the website is still being set up, completed once the setup has finished, failed when it stopped before finishing or has not reported progress for over an hour.

created_atstring date-time required

When the setup was requested.

updated_atstring date-time required

When the setup last reported progress.

Example response

{
  "domain": "example.com",
  "username": "u123456789",
  "type": "wordpress",
  "status": "running",
  "created_at": "2024-01-15T10:30:00.000000Z",
  "updated_at": "2024-01-15T10:32:00.000000Z"
}

Changes

Changed in 1 of the 117 revisions of this API.1