compute

POST /v1/compute/servers/{serverId}/packages

Put a website on a server.

All compute endpoints

Authentication

Send an API key as a bearer token. This endpoint does not state a specific permission in the specification, so give your key the least it needs and check the response rather than assuming.

This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.

Try it

Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.

curl -X POST https://api.zinndigital.com/v1/compute/servers/{serverId}/packages \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "domain": <string>, "package_type": <string> }'

Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console

Details

Creates a hosting package on the machine. **This does not charge.** The machine's package allowance at the provider is unlimited and the money was spent when the server was bought, so this is gated on `sites.create` and deliberately not on the billing key. A separate, reseller-wide call buys a standalone hosting product; this is not it. A domain the provider rejects - not a valid name, or already hosted on the account - returns 422 and creates nothing.

Parameters

NameTypeRequiredWhat it is
serverId (path)UuidYesThe server's id, as `listComputeServers` reports it. **Ours** (UUIDv7), minted when the order row was written — never the provider's own identifier for the machine.

Request body

NameTypeRequiredWhat it is
domainstringYesThe website's primary domain.
package_typestringYesThe id of a package type from `GET /v1/compute/servers/{serverId}/packages`.

Response

NameTypeRequiredWhat it is
idstringYesThe provider's package identifier.
domainstringYesThe package's primary domain
type_labelstringYesThe provider's label for the kind of package, or `""`.
created_atstringYesISO-8601 as the provider states it
site_idstringYes**Our** site id for this website, or `""` when we hold no record of it. This is what makes the website openable: every site surface - SSL, FTP, databases, subdomains, PHP, cron,…

Errors this endpoint can return

401 · 403 · 404 · 422 · 429 · 503