hosting

POST /v1/site-imports

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

Barcha hosting yakuniy nuqtalari

Autentifikatsiya

API kalitini bearer token sifatida yuboring. Kalit hosting.import.manage ruxsatiga ega boʻlishi shart; ruxsatsiz kalit 404 emas, balki 403 xatosi bilan rad etiladi.

Bu yakuniy nuqta hech qanday tashkilot identifikatorini qabul qilmaydi. Sizning kalitingiz unga tegishli tashkilotni allaqachon aniqlaydi va javob shunga qarab cheklanadi.

Sinab ko'rish

Qavslardagi har qanday narsani o'z qiymatlaringiz bilan, kalit pleysxolderini эsa boshqaruv panelingizdagi kalit bilan almashtiring.

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> }'

Tizimga kirganmisiz? Boshqaruv panelingizdagi API konsoli haqiqiy tashkilot ID raqamingiz va shaxsiy kalitingizni avtomatik to'ldiradi hamda haqiqiy javobni ko'rishingiz uchun so'rovni jonli API orqali bajaradi. Ushbu yakuniy nuqtani API konsolida oching

Tafsilotlar

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`.

Parametrlar

NomiTuriMajburiyNima bu
Idempotency-Key (header)stringYo'qClient-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats.

Soʻrov tanasi

NomiTuriMajburiyNima bu
sourceSiteImportSourceHaWhere 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…
outputSiteImportOutputHaWhat the import produces. Both are supported; neither is a default.
source_domainstringHaThe domain whose archive to restore, or — for `archive_url` — the URL of the archive to migrate in.
target_domainstringYo'qThe domain the result is served on. Defaults to `source_domain`.
site_idUuidYo'qRestore into an existing site. Omit to produce a bundle and choose the target later.
snapshot_daystringYo'qWhich 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_depthintegerYo'q
request_budgetintegerYo'qThe 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_attestedbooleanYo'q⚠️ 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.

Javob

NomiTuriMajburiyNima bu
idUuidHaUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idstringYo'qThe 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.
sourceSiteImportSourceHaWhere 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…
outputSiteImportOutputHaWhat the import produces. Both are supported; neither is a default.
statusSiteImportStatusHa`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_reasonstringYo'qA 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_domainstringHa
target_domainstringYo'q
snapshot_daystringYo'q
crawl_depthintegerYo'q
urls_totalintegerHa
urls_doneintegerHa
urls_failedintegerHa
progress_percentintegerHaFor a progress bar only. The per-URL counters are the primary display, because a percentage cannot say *which* step.
requests_spentintegerHa
request_budgetintegerHa
budget_exhaustedbooleanHaTrue 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_bytesintegerYo'q
created_atstringHa
started_atstringYo'q
finished_atstringYo'q
can_cancelbooleanHa

Ushbu yakuniy nuqta qaytarishi mumkin bo'lgan xatolar

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