hosting
POST /v1/site-blueprints/{siteBlueprintId}/screenshot
Mint a time-limited URL for a blueprint's screenshot.
Authentication
Send an API key as a bearer token. The key must carry the sites.view permission; a key without it is refused with 403, not 404.
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/site-blueprints/{siteBlueprintId}/screenshot \
-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
Returns a presigned URL the browser fetches directly from object storage. ⛔ **`POST`, despite reading nothing** — the same rule `downloadSiteBackup` follows: the response body is a signed credential for customer content (a picture of their site, which can show unlaunched branding or a page behind a login), so a `GET` would invite it into browser history, proxy logs and shared caches. The grant expires in ten minutes; take a new one rather than storing it. A blueprint with no screenshot is a `422`, not a `404` — the blueprint exists, the picture does not. Requires `sites.view`.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
siteBlueprintId (path) | Uuid | Yes | A SITE blueprint's id (UUIDv7) — one of the customer's own captured sites. ⛔ Not a `blueprintId`: that names a published stack recipe, and the two are different resources that u… |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
url | string | Yes | ⛔ A **bearer credential** for the picture until it expires — never log it, never store it, hand it straight to the browser. |
expires_at | string | Yes | — |
Errors this endpoint can return
401 · 403 · 404 · 422 · 429