hosting
POST /v1/site-imports
Restore a site from a web archive, or migrate one in.
توثيقِ شناخت
ایک بیرر ٹوکن کے طور پر ایک API کی بھیجیں۔ کی کے پاس hosting.import.manage اجازت ہونی چاہیے؛ اس کے بغیر کی کو 404 کے بجائے 403 کے ساتھ مسترد کر دیا جاتا ہے۔
یہ اینڈ پوائنٹ کوئی آرگنائزیشن آئی ڈی نہیں لیتا۔ آپ کی کلید پہلے ہی اس آرگنائزیشن کی شناخت کرتی ہے جس سے یہ تعلق رکھتی ہے، اور اس کا جواب اسی کے مطابق محدود ہوتا ہے۔
آزمائیں
کوئی بھی چیز جو زاویہ دار قوسین میں ہو اسے اپنی اقدار سے بدلیں، اور کلیدی پلیس ہولڈر کو اپنے ڈیش بورڈ کی کسی کلید سے بدلیں۔
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 کنسول آپ کی حقیقی تنظیم کی آئی ڈی اور آپ کی اپنی کلید خود بخود پُر کر دیتا ہے، اور لائیو API پر درخواست چلاتا ہے تاکہ آپ اصل ردعمل دیکھ سکیں۔ اس اینڈ پوائنٹ کو 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. |
درخواست کا باڈی
| نام | قسم | لازمی | یہ کیا ہے |
|---|---|---|---|
source | SiteImportSource | ہاں | 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… |
output | SiteImportOutput | ہاں | What the import produces. Both are supported; neither is a default. |
source_domain | string | ہاں | The domain whose archive to restore, or — for `archive_url` — the URL of the archive to migrate in. |
target_domain | string | نہیں | The domain the result is served on. Defaults to `source_domain`. |
site_id | Uuid | نہیں | Restore into an existing site. Omit to produce a bundle and choose the target later. |
snapshot_day | string | نہیں | 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_depth | integer | نہیں | — |
request_budget | integer | نہیں | 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_attested | boolean | نہیں | ⚠️ 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. |
جواب
| نام | قسم | لازمی | یہ کیا ہے |
|---|---|---|---|
id | Uuid | ہاں | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
site_id | string | نہیں | 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. |
source | SiteImportSource | ہاں | 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… |
output | SiteImportOutput | ہاں | What the import produces. Both are supported; neither is a default. |
status | SiteImportStatus | ہاں | `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_reason | string | نہیں | 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_domain | string | ہاں | — |
target_domain | string | نہیں | — |
snapshot_day | string | نہیں | — |
crawl_depth | integer | نہیں | — |
urls_total | integer | ہاں | — |
urls_done | integer | ہاں | — |
urls_failed | integer | ہاں | — |
progress_percent | integer | ہاں | For a progress bar only. The per-URL counters are the primary display, because a percentage cannot say *which* step. |
requests_spent | integer | ہاں | — |
request_budget | integer | ہاں | — |
budget_exhausted | boolean | ہاں | 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_bytes | integer | نہیں | — |
created_at | string | ہاں | — |
started_at | string | نہیں | — |
finished_at | string | نہیں | — |
can_cancel | boolean | ہاں | — |
وہ خرابیان جو یہ اینڈ پوائنٹ واپس کر سکتا ہے
401 · 403 · 404 · 409 · 422 · 429 · 503