hosting

POST /v1/site-blueprints

Capture a built site as a reusable blueprint.

모든 hosting 엔드포인트

인증

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_idUuidThe built site to capture. Must be `active`.
namestring
notesstring아니요
backup_idUuid | 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…

응답

이름유형필수설명
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
namestring
notesstringThe customer's own note, so they can tell their templates apart.
statusSiteBlueprintStatusWhere 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…
messagestring아니요Why a capture failed, in human English. Empty otherwise. Rendered to the customer verbatim.
stack_typeStackTypeThe 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…
runtimeRuntimeThe runtime the web server serves the site with.
product_linestringThe 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_domainstringThe domain of the site this was captured from, kept after that site is gone.
source_site_idUuid | nullThe site it came from, or null once that site has been deleted.
has_screenshotbooleanWhether 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…
deployablebooleanWhether 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_countintegerHow many sites have been built from this blueprint.
created_atstring
updated_atstring

이 엔드포인트가 반환할 수 있는 오류

401 · 403 · 404 · 409 · 422 · 429 · 503