hosting
POST /v1/sites/{siteId}/previews
Build a branch as a preview, without touching the live site.
Authenticatie
Stuur een API-sleutel mee als bearer token. De sleutel moet over de permissie hosting.deploy.manage beschikken; een sleutel zonder deze permissie wordt geweigerd met een 403 in plaats van een 404.
Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.
Probeer het
Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/previews \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "branch": <string> }'Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console
Details
A preview NEVER binds the site's hostname: it is reachable at the provider's own per-deployment URL and nowhere else, which is the whole promise of a preview. Previewing the branch the site already serves is refused rather than quietly promoted to a production deploy. Requires `hosting.deploy.manage`.
Parameters
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
siteId (path) | Uuid | Ja | Site ID (UUIDv7). |
Aanvraaglichaam
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
branch | string | Ja | The branch to build as a preview. Must not be the branch the site already serves — that would be a normal deploy. |
Reactie
| Naam | Type | Verplicht | Wat dit is |
|---|---|---|---|
id | Uuid | Ja | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
site_id | Uuid | Ja | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
target | DeployTarget | Ja | Where the site is published from. `fleet` is our own managed fleet; the rest are managed edge hosts, deployed to from a pooled account of ours or the customer's own connected on… |
status | DeployStatus | Ja | `idle` means the site has never been deployed. It is reported, never stored — a stored idle would be a second way to say "no deployments" that could contradict the first. |
trigger | DeployTrigger | Ja | What caused the deploy. Stored because `requested_by` cannot answer it for a push — the actor there is a webhook delivery, not a person. |
repo | object | Ja | — |
branch | object | Ja | — |
commit | object | Ja | — |
commit_message | object | Ja | — |
live_url | object | Ja | — |
message | object | Ja | Why it failed, else null. Rendered to the customer verbatim. |
requested_by | string | Ja | — |
created_at | string | Ja | — |
started_at | object | Ja | — |
finished_at | object | Ja | — |
log | string | Ja | The build log, one timestamped line per step. Truncated from the FRONT when long — the end of a build log is where the failure is. |
Fouten die dit eindpunt kan retourneren
401 · 403 · 404 · 409 · 422 · 429 · 503