hosting

POST /v1/sites/{siteId}/retry-provisioning

Build a failed site again.

모든 hosting 엔드포인트

인증

Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 sites.view 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.

이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.

무료 체험하기

대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/retry-provisioning \
  -H "Authorization: Bearer zdk_live_…"

로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요

상세 정보

Re-runs provisioning for a site whose build failed or never started. The transition `failed -> provisioning` has always been legal and the status enum's own comment says *"retry or delete"* — this is the door. **Idempotent, and pressing it twice is a success.** A site that is already `provisioning` answers `202` with `restarted: false` rather than a `409`: a customer pressing a button twice has not made an error. Three independent mechanisms make that safe — the workflow id is derived from the site id, the start policy is `ALLOW_DUPLICATE_FAILED_ONLY` so a completed provision can never be re-run, and the status transition locks and re-reads the row. ⛔ Nothing here calls Temporal (§2.9). The status change and a `site.created` event commit in one transaction and the existing consumer starts the workflow, so a Temporal outage cannot leave the row half-moved. A site that is `active`, `deleting` or `deleted` is a `422` — a retry re-runs the build, and those are past it. Requires `sites.view` and `hosting.deploy.manage`.

매개변수

이름유형필수설명
siteId (path)UuidSite ID (UUIDv7).

응답

이름유형필수설명
site_idstring
statusstringThe site's status after the call — `provisioning` on both outcomes.
restartedboolean`true` when this call moved the row and queued a build; `false` when the site was **already** provisioning, which is a success and not a conflict. ⛔ Its own field rather than de…

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

401 · 403 · 404 · 422 · 429