The body or a parameter fails the schema. param says which
not_found
404
It doesn’t exist, or doesn’t exist for this credential. The API doesn’t distinguish the two on purpose
already_exists
409
A resource with that identifier already exists
idempotency_conflict
409
You reused an Idempotency-Key with a different body
invalid_cursor
400
The cursor isn’t one of ours, or is from a previous version. Restart the listing: cursors aren’t durable
unsupported_for_product
400
The operation doesn’t apply to that product (for example, SPICE console on a legacy VPS). Check capabilities in the resource’s GET
product_not_orderable
400
The product slug doesn’t exist or is not for sale. GET /v1/orders/products lists what is
invalid_promocode
400
The promo code doesn’t exist, expired, is used up, or doesn’t apply to that product or cycle. Decided before the order exists: you never get an order at an unexpected price
hostname_taken
409
The WordPress site name is already in use. Pick another; the API never auto-suffixes it
recipe_invalid
400
A recipe/v1 manifest doesn’t validate. param is the field (plugins[1].sha256). See recipes
recipe_requirements_unmet
412
The site doesn’t meet the recipe’s requires (PHP, WordPress, plan memory). Decided before the operation exists; nothing was changed
recipe_checksum_mismatch
—
Inside a failed wordpress.recipes.apply operation: a plugin zip didn’t match its sha256. Checked before the backup, so nothing was changed