hosting
POST /v1/sites/{siteId}/vendor-snapshots/restore
Restore a site from a vendor restore point.
인증
Bearer 토큰으로 API 키를 전송하세요. 키는 반드시 hosting.backup.manage 권한을 가지고 있어야 하며, 권한이 없는 키는 404가 아닌 403으로 거부됩니다.
이 엔드포인트는 조직 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