hosting

POST /v1/sites/{siteId}/wordpress/staging/publish

Publish a site's staging WordPress over the live site.

모든 hosting 엔드포인트

인증

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

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

무료 체험하기

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

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/wordpress/staging/publish \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

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

상세 정보

⛔ **The most destructive operation on the managed hosting line**: the live site's files and database are replaced by the staging clone's. Its own path, so no request aimed at any other staging operation can reach it. ⛔⛤ **The one optional field, `mode`, selects SCOPE and never DIRECTION.** This path exists separately from `createSiteWordPressStaging` precisely so that no field can flip which way the copy runs — on managed shared hosting both directions are driven from a single value, and one passthrough endpoint would let a request reading as *"refresh my staging copy"* publish a stale clone over a live shop. Every value of `mode` copies staging onto live; it says only how much travels. A field that could change the direction must never be added here. ⛔ **A scope the site's platform cannot honour is refused `422`.** Read `publish_modes` on `SiteWordPressStaging` first and offer only what it lists: the Zinn® autoscaling platform performs `files`, `db` and `both`, and managed shared hosting performs `both` only, because its staging operation takes no scope at all. That is a property of the platform, not of the customer's plan — a larger package does not add a database-only publish. Refused `422` when the site has **no staging clone** — the platform does not check, and would happily publish an empty staging environment over a live shop. The client is required to take a typed confirmation naming the site. `202` because the publish continues at the vendor after the acknowledgement. `404` for a site with no vendor hosting package. Requires `sites.view` and `sites.panel_access`.

매개변수

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

요청 본문

이름유형필수설명
modestring<files, db, both>아니요`files` copies the document root and leaves the live database alone; `db` copies the database and search-replaces the staging URL back to the live one, leaving the live files al…

응답

이름유형필수설명
permittedbooleanWhether this site may use WordPress staging at all — on the resold range the package type's own flag, and on our own fleet the plan's `staging` entitlement.
publish_modesstring<files, db, both>[]Which publish scopes this site's **platform** can actually perform, for `publishSiteWordPressStaging`. A client offers exactly these and no more. ⛔⛔ **This is not a permission a…
publishablebooleanWhether the plan also carries **publish to live**, which is a separate permission from creating a staging copy. ⛔ Not folded into `permitted`, because the catalogue sells the tw…
reinstallablebooleanWhether the plan carries **reinstalling** the platform software over the staging copy. A fifth question for the same reason as `publishable`: the catalogue sells it separately,…
operationsSiteWordPressStagingOperation[]The site's recent staging operations, newest first — the client's window onto work that runs **after** the request returns. ⛔⛔ **Creating, publishing, deleting and reinstalling…
dataSiteWordPressStagingClone[]The staging copies that exist.

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

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