hosting
GET /v1/sites/provider-options
List the options available for a new site.
Authentication
Send an API key as a bearer token. The endpoint checks sites.create; a key without it is refused with 403, not 404.
Where your organisation id goes
This endpoint takes org_id as a query parameter. Leave it out and the call covers your whole tenancy subtree; send it to narrow the call to one organisation.
Your organisation id is on the API keys screen in your dashboard, beside the key itself. It is the same id in every call you make.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X GET https://api.zinndigital.com/v1/sites/provider-options \
-H "Authorization: Bearer zdk_live_…"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
What a customer may choose on POST /v1/sites: cdn_vendor / dns_vendor, stack_type and source. The vendors are answered from the provider-account pool serving this organization — its own (BYO) accounts when it has any, otherwise the platform pool — so the picker can never offer a vendor the site would then fail to provision on. The CDN answer is managed: false on every line today, Footprint-Free included (owner ruling, 2026-09-09): the customer picks the vendor and the platform picks the account, spreading their sites across the pool without disclosing which account any of them landed on. separates_sites says whether a given vendor can deliver that spread at all, and dns.allowed_by_cdn carries the whole CDN→DNS pairing rule so the picker can re-filter without another request. stacks and sources answer the same question for the other two pickers — only what this deployment can actually build. Note there is deliberately no runtime: it is derived from the stack, not chosen. On our own fleet a Node-runtime stack (node, headless_cms) is listed only when the product line has a published blueprint for it — provisioning reads the Node version from that blueprint — and POST /v1/sites refuses the same stack with a 422 on stack_type (D26530).
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
org_id (query) | Uuid | No | The organization to answer for. Defaults to the caller's first org in scope; an org outside scope is a 404 rather than a 403, so this cannot be used to probe which… |
product_line (query) | string | No | The product line the site will be created on. Decides whether the CDN choice is platform-managed; omit for the unmanaged answer. |
cdn_vendor (query) | string | No | The CDN the customer has chosen, which narrows the DNS answer. Choosing Cloudflare restricts DNS to Cloudflare: its edge proxies a record in place inside its own authoritative… |
subscription_id (query) | string | No | The subscription the site will be created under, exactly as createSite takes it. Its plan decides the deploy target, and the target decides which stacks can run (#6071).… |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
product_line | string | Yes | The product line the answer was computed for (echoed from the query). |
cdn | SiteCdnChoice | Yes | — |
dns | SiteDnsChoice | Yes | — |
stacks | StackType[] | Yes | The stack_type values that can actually be provisioned on stack_target — those with a published blueprint AND runnable where the plan places the site. The vendor one-click… |
stack_target | string | Yes | The deploy target stacks was computed for — where a site created now with the same product_line and subscription_id would be placed. |
sources | SiteSource[] | Yes | The source values a site can actually be built from. migrate and wayback appear only where the import workflows are deployed; elsewhere offering them would create a site… |
wordpress_theme | object | Yes | The answers this product line accepts for a new WordPress site's theme. default installs nothing (WordPress's own default theme in the current release), choose is theme on… |
deploy_targets | SiteDeployTargetOffer[] | Yes | The edge hosts this organization can point a new site at — its own connected provider accounts, sold through the extra-externally-hosted-sites add-on. Every edge host appears,… |
Errors this endpoint can return
401 · 403 · 404