hosting
POST /v1/sites/{siteId}/vendor-snapshots/restore
Restore a site from a vendor restore point.
身份验证
请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 hosting.backup.manage 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/vendor-snapshots/restore \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "scope": <string<web, database, mailbox>>, "timestamp": <string> }'已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点
详细信息
Rolls the website, one database or one mailbox back to a named restore point. `202` and the whole surface's new state, for the same reason `takeSiteVendorSnapshot` returns it: the platform performs the restore afterwards and the client polls on `in_progress`. ⛔ **This is the destructive one, and its own path is part of how it is gated.** It overwrites the customer's live files and database, so it is deliberately not a verb on the collection that takes backups — it must not be reachable by sending a slightly different body to the endpoint beside it. A restore always **names its restore point**, never "the latest": `timestamp` is one of the values `getSiteVendorSnapshots` returned, and the engine re-checks it against the live listing before anything is sent, so a value a client composed cannot reach the vendor. `temp_mailbox` applies to mailboxes only, where the platform restores into a `temp-` prefixed mailbox instead of overwriting the original; it is offered as a choice rather than assumed. The action is audit-logged **after** the platform accepts it, so the trail never claims a restore a refusal never started. `404` for a site with no vendor hosting package, or one that is not the caller's; `422` for a restore point that is no longer in the listing or a scope that cannot be restored. Requires `hosting.backup.manage`.
参数
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
siteId (path) | Uuid | 是 | Site ID (UUIDv7). |
请求正文
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
scope | string<web, database, mailbox> | 是 | What to restore. |
timestamp | string | 是 | The restore point's handle, exactly as `getSiteVendorSnapshots` reported it. |
item_id | string | 否 | Which database or mailbox. Empty for the website. |
temp_mailbox | boolean | 否 | Mailboxes only. The platform restores into a `temp-` prefixed mailbox instead of overwriting the original, which is the safe default for mail — offered as a choice rather than a… |
响应
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
available | boolean | 是 | Whether the site's hosting platform has a timeline surface at all. False is **our** gap, and nothing the customer can do changes it. |
permitted | boolean | 是 | Whether the vendor package type includes it. False is answered by an upgrade. |
pro | boolean | 是 | Whether the package carries the paid tier rather than the included one. |
attached | boolean | 是 | Whether a Timeline Storage service is actually attached to the package. False is the third "no", and it is neither of the other two. |
can_back_up | boolean | 是 | Whether `takeSiteVendorSnapshot` would be accepted right now. Read rather than recomputed from the three flags above, so a screen never offers a button the engine refuses. |
has_dead_web | boolean | 是 | Whether the platform reports the website's timeline as broken. It is surfaced rather than hidden: a customer whose restore points stopped being taken needs to know before they n… |
in_progress | boolean | 是 | Whether any snapshot or restore job is running. This is what a client polls on, and only while it is true. |
web | SiteVendorSnapshotItem | 是 | The website's timeline, or null when the platform holds none. |
databases | SiteVendorSnapshotItem[] | 是 | Each database's timeline. |
mailboxes | SiteVendorSnapshotItem[] | 是 | Each mailbox's timeline. |
此端点可能返回的错误
401 · 403 · 404 · 422 · 429 · 503