Website

Create a website

Creates a WordPress website. Two mutually exclusive modes:

Claim mode (ghost pool) — omit subdomain and omit all hosting fields (region, site_title, admin_username, admin_password, is_trial, trial_website_delete_after_days, enable_wp_ai_generation; legacy aliases is_demo / demo_domain_delete_after_days also count as hosting fields). Uses a warm-pool ghost on the reseller workspace when available; otherwise cold-creates with a generated subdomain. Requires an eligible reseller workspace (active reseller agreement and active client main domain). A successful claim emits webhook website_generation_completed with generation_flow: reseller_ghost_claim. The returned URL is the pool site URL (you do not choose the subdomain).

Cold-create mode — pass subdomain plus region, site_title, admin_username, and admin_password. Honors the requested subdomain. On completion, emits website_generation_completed with generation_flow: create_website (or create_website_dedicated_vm for dedicated-VM accounts).

Passing any hosting field without subdomain returns HTTP 400.

post/v1/hosting/website

Request

Headers

x-api-keystring required

API key for authentication

Request body

subdomainstring required

Subdomain for the website (3-63 characters, lowercase letters, numbers, and hyphens only)

regionstring required

Region of the website

site_titlestring required

Title of the website

admin_usernamestring required

Admin username for the website (max 60 characters, can contain alphanumeric characters, space, _, ., -, *, @)

admin_passwordstring required

Admin password for the website (must contain 1 lowercase, 1 uppercase, 1 digit, minimum 8 chars). Cold-create only; forbidden in claim mode.

is_trial0 | 1

Specifies if this website is a trial (0 = regular website, 1 = trial website). Cold-create only; forbidden in claim mode. Legacy alias is_demo is still accepted temporarily and mapped to is_trial. With b2b_trial_limitations, max trial sites = b2b_trial_website_create_limit_hard (legacy fallback: demo_website_count). Trial sites do not consume paid slots.

trial_website_delete_after_daysinteger

Optional. Number of days after which a trial website will be deleted (only applicable when is_trial = 1). Cold-create only; forbidden in claim mode. Default is 3. Maximum is enforced by Core using the plan b2b_trial_period_days parameter (values above the plan max are clamped). Legacy alias demo_domain_delete_after_days is still accepted temporarily.

enable_wp_ai_generationboolean

Enable AI website builder functionality in WordPress admin panel

Response

Website created successfully

status'ok' | 'error'

Example response

{
  "status": "ok",
  "data": {
    "website_id": 15604
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.