인증
Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 sites.blueprint.manage 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.
이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.
무료 체험하기
대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.
curl -X POST https://api.zinndigital.com/v1/site-blueprints \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "site_id": <Uuid>, "name": <string> }'로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요
상세 정보
Starts a durable capture — a backup of the named site, plus a screenshot of its home page — and answers `202` with the new row in `capturing`. Poll the list. Two shapes. Omit `backup_id` and a **new backup is taken**, which spends one of the site's three per-rolling-day on-demand slots and is refused with a `429` naming when the next opens. Give `backup_id` and an **existing stored backup is adopted**: the blueprint is `ready` immediately and no allowance is spent, which is what a customer wants when this morning's site is broken and last night's is the template. The site must be `active` — a template of a half-built or failed site is not a thing anybody means to make — and its hosting must be able to produce a backup at all. Requires `sites.blueprint.manage`.
매개변수
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
Idempotency-Key (header) | string | 아니요 | Client-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats. |
요청 본문
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
site_id | Uuid | 예 | The built site to capture. Must be `active`. |
name | string | 예 | — |
notes | string | 아니요 | — |
backup_id | Uuid | null | 아니요 | An existing **stored** backup of that site to adopt, instead of taking a new one. Adopting spends none of the site's three-per-rolling-day on-demand allowance and makes the blue… |
응답
| 이름 | 유형 | 필수 | 설명 |
|---|---|---|---|
id | Uuid | 예 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
name | string | 예 | — |
notes | string | 예 | The customer's own note, so they can tell their templates apart. |
status | SiteBlueprintStatus | 예 | Where a capture got to. `ready` means the backup behind the blueprint is restorable, not merely that the row was written — a backup that ended "on host only" (no object storage… |
message | string | 아니요 | Why a capture failed, in human English. Empty otherwise. Rendered to the customer verbatim. |
stack_type | StackType | 예 | The stack the source site ran, **copied at capture time**. This is the compatibility axis: a blueprint can only be deployed onto a site of the same stack. Copied rather than rea… |
runtime | Runtime | 예 | The runtime the web server serves the site with. |
product_line | string | 예 | The line the source site was on. **Advisory** — shown so a customer can tell a PBN template from a mainstream one — and deliberately NOT part of the compatibility guard: moving… |
source_domain | string | 예 | The domain of the site this was captured from, kept after that site is gone. |
source_site_id | Uuid | null | 예 | The site it came from, or null once that site has been deleted. |
has_screenshot | boolean | 예 | Whether a picture exists. ⛔ Deliberately a boolean and not a URL: minting a presigned URL is a round trip to object storage, and doing it per row on a list endpoint would put an… |
deployable | boolean | 예 | Whether a site can be built from this **today**. Three conditions, not one: the capture finished, a backup is linked, and that backup is still restorable. A `ready` blueprint wh… |
deployment_count | integer | 예 | How many sites have been built from this blueprint. |
created_at | string | 예 | — |
updated_at | string | 예 | — |
이 엔드포인트가 반환할 수 있는 오류
401 · 403 · 404 · 409 · 422 · 429 · 503