hosting

POST /v1/site-imports

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

ყველა hosting ენდპოინტი

ავტორიზაცია

API გასაღები გაგზავნეთ როგორც მატარებელი ტოკენი (bearer token). გასაღებს უნდა ჰქონდეს hosting.import.manage ნებართვა; ამის გარეშე გასაღები უარყოფილი იქნება 403 და არა 404 სტატუსით.

ეს ბოლო წერტილი არ იღებს ორგანიზაციის იდენტიფიკატორს. თქვენი გასაღები უკვე აიდენტიფიცირებს იმ ორგანიზაციას, რომელსაც ის ეკუთვნის, და პასუხი შემოფარგლულია მისით.

სცადეთ

შეSubstituted any value inside angle brackets with your own and the key placeholder with a key from your dashboard.

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

შესული ხართ? თქვენი სამართავ პანელში არსებული API კონსოლი ავტომატურად ამატებს თქვენი რეალური ორგანიზაციის ID-სა და საკუთარ გასაღებს და ატარებს მოთხოვნას ცოცხალ API-ს წინააღმდეგ, რათა იხილოთ რეალური პასუხი. გაAღით ეს ენდპოინტი API კონსოლში

დეტალები

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

პარამეტრები

სახელიტიპისავალდებულორა არის ეს
Idempotency-Key (header)stringარაClient-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats.

მოთხოვნის სხეული

სახელიტიპისავალდებულორა არის ეს
sourceSiteImportSourceდიახWhere 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…
outputSiteImportOutputდიახWhat the import produces. Both are supported; neither is a default.
source_domainstringდიახThe domain whose archive to restore, or — for `archive_url` — the URL of the archive to migrate in.
target_domainstringარაThe domain the result is served on. Defaults to `source_domain`.
site_idUuidარაRestore into an existing site. Omit to produce a bundle and choose the target later.
snapshot_daystringარაWhich 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_depthintegerარა
request_budgetintegerარაThe 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_attestedbooleanარა⚠️ 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.

პასუხი

სახელიტიპისავალდებულორა არის ეს
idUuidდიახUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idstringარაThe 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.
sourceSiteImportSourceდიახWhere 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…
outputSiteImportOutputდიახWhat 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_reasonstringარაA 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_domainstringარა
snapshot_daystringარა
crawl_depthintegerარა
urls_totalintegerდიახ
urls_doneintegerდიახ
urls_failedintegerდიახ
progress_percentintegerდიახFor a progress bar only. The per-URL counters are the primary display, because a percentage cannot say *which* step.
requests_spentintegerდიახ
request_budgetintegerდიახ
budget_exhaustedbooleanდიახTrue 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_bytesintegerარა
created_atstringდიახ
started_atstringარა
finished_atstringარა
can_cancelbooleanდიახ

შეცდომები, რომლებიც ამ ენდპოინტს შეუძლია დააბრუნოს

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