hosting
POST /v1/sites/{siteId}/wordpress/staging
Copy a site's live WordPress onto staging.
身份验证
请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 sites.view 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/wordpress/staging \
-H "Authorization: Bearer zdk_live_…"已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点
详细信息
⛔ This copies live onto staging and can do nothing else. It takes no body, so there is no field a caller could set to make it publish over the live site — that is publishSiteWordPressStaging, a different path with its own refusal. the platform itself distinguishes the two directions with one string in one field, which is precisely why they must not share an endpoint. An existing staging copy is overwritten by the live site: that is what "refresh my staging" means, and it is the safe direction. ⛔⛔ 202 means accepted, never finished, and a client that treats it as finished will be wrong every time. Copying a document root and a database takes far longer than any HTTP request may — ~30 s for an empty WordPress on the Zinn® fleet, and it scales with the site — so the copy runs on the platform's queue. The body carries the new entry in operations: poll getSiteWordPressStaging until it leaves queued and running, and read message if it ends failed. ⭐ Refusals still arrive here, immediately: a site whose platform cannot stage is a 422 from this call, not a failed operation a minute later. 404 for a site whose platform has no WordPress to manage. 409 when another staging operation is already running for the site. Requires sites.view and sites.panel_access.
参数
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
siteId (path) | Uuid | 是 | Site ID (UUIDv7). |
响应
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
permitted | boolean | 是 | Whether 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_modes | string<files, db, both>[] | 是 | Which publish scopes this site's platform can actually perform, for publishSiteWordPressStaging. A client offers exactly these and no more. ⛔⛔… |
publishable | boolean | 是 | Whether 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 two… |
reinstallable | boolean | 是 | Whether 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, so… |
idle_removal_days | integer | 是 | After how many days with no change a staging copy is removed automatically, or null when nothing ever removes it. ⛔⛔… |
idle_notice_days | integer | 是 | How many days' warning the customer is emailed before that removal, or null when idle_removal_days is null. |
operations | SiteWordPressStagingOperation[] | 是 | The site's recent staging operations, newest first — the client's window onto work that runs after the request returns. ⛔⛔… |
data | SiteWordPressStagingClone[] | 是 | The staging copies that exist. |
此端点可能返回的错误
401 · 403 · 404 · 409 · 422 · 429 · 503