hosting
GET /v1/sites/provider-options
List the options available for a new site.
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.
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. On a managed line the CDN answer is `managed: true` with an empty vendor list: the platform spreads Footprint-Free sites across the pool deliberately and does not disclose which vendor fronts a site. `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.
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 organizat… |
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 authoritati… |
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 — those with a published blueprint. Every other `StackType` member is a `422` on create. |
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 w… |
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 appear… |
Errors this endpoint can return
401 · 403 · 404