hosting

POST /v1/site-imports

Restore a site from a web archive, or migrate one in.

Tất cả các điểm cuối hosting

Xác thực

Gửi khóa API dưới dạng mã thông báo bearer. Khóa này phải có quyền hosting.import.manage; khóa không có quyền này sẽ bị từ chối với mã lỗi 403, không phải 404.

Endpoint này không nhận ID tổ chức. Khóa của bạn đã xác định tổ chức mà nó thuộc về và phản hồi được giới hạn trong phạm vi đó.

Dùng thử

Thay thế bất kỳ nội dung nào trong ngoعل (angle brackets) bằng giá trị của riêng bạn và trình giữ chỗ key bằng một key từ trang tổng quan của bạn.

curl -X POST https://api.zinndigital.com/v1/site-imports \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "source": <SiteImportSource>, "output": <SiteImportOutput>, "source_domain": <string> }'

Đã đăng nhập? Bảng điều khiển API trong trang quản lý của bạn sẽ tự điền ID tổ chức thực tế và khóa của riêng bạn, sau đó chạy yêu cầu đối với API trực tiếp để bạn có thể xem phản hồi thực tế. Mở điểm cuối này trong bảng điều khiển API

Chi tiết

Starts a durable, resumable import workflow and returns the new job state, never a bare acknowledgement. A Wayback restore **must** name `snapshot_day`: the most recent capture of an expired domain is usually a parking page, so there is no safe default (422 without it). The output is either a static HTML document root or a WordPress import — both are supported and neither is a default. A site with an import already running returns 409. ⚠️ `ownership_attested` is recorded, not enforced: the platform's obligation here is to know who requested what. Requires `hosting.import.manage`.

Tham số

TênLoạiBắt buộcNội dung này là gì
Idempotency-Key (header)stringKhôngClient-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats.

Nội dung yêu cầu

TênLoạiBắt buộcNội dung này là gì
sourceSiteImportSourceWhere the content comes from. ⛔ Deliberately not the same enum as a site's `source`: that one records what a site was built from, for ever, while this selects a fetch strategy a…
outputSiteImportOutputWhat the import produces. Both are supported; neither is a default.
source_domainstringThe domain whose archive to restore, or — for `archive_url` — the URL of the archive to migrate in.
target_domainstringKhôngThe domain the result is served on. Defaults to `source_domain`.
site_idUuidKhôngRestore into an existing site. Omit to produce a bundle and choose the target later.
snapshot_daystringKhôngWhich day's snapshot to restore. **Required for `wayback`** — the most recent capture of an expired domain is usually a parking page, so there is no safe default.
crawl_depthintegerKhông
request_budgetintegerKhôngThe hard ceiling on requests this job may make against the source. Bounded per job so one 400,000-capture domain cannot consume the platform's whole archive allowance.
ownership_attestedbooleanKhông⚠️ The customer's assertion that they control the domain, recorded because it cannot be reconstructed afterwards. It is **not** a legal control and is not presented as one.

Phản hồi

TênLoạiBắt buộcNội dung này là gì
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idstringKhôngThe site this import lands on, or empty. Empty is a real outcome, not an error: an aged-domain restore produces a downloadable bundle and the customer picks the target afterwards.
sourceSiteImportSourceWhere the content comes from. ⛔ Deliberately not the same enum as a site's `source`: that one records what a site was built from, for ever, while this selects a fetch strategy a…
outputSiteImportOutputWhat the import produces. Both are supported; neither is a default.
statusSiteImportStatus`fetching` and `building` are separate states rather than one `running` because they fail for opposite reasons and the customer's next action differs — a stall in `fetching` is…
status_reasonstringKhôngA machine code the dashboard renders through its own catalogue — never an English sentence composed by the engine, which could not be shown to the other 57 locales.
source_domainstring
target_domainstringKhông
snapshot_daystringKhông
crawl_depthintegerKhông
urls_totalinteger
urls_doneinteger
urls_failedinteger
progress_percentintegerFor a progress bar only. The per-URL counters are the primary display, because a percentage cannot say *which* step.
requests_spentinteger
request_budgetinteger
budget_exhaustedbooleanTrue when the job stopped because it ran out of requests. Surfaced deliberately — it otherwise looks identical to a job that finished, and the customer's next action depends on…
bundle_bytesintegerKhông
created_atstring
started_atstringKhông
finished_atstringKhông
can_cancelboolean

Các lỗi điểm cuối này có thể trả về

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