hosting
POST /v1/migrations/probe
Sign in to the old host and show what is there, with no site yet.
المصادقة
أرسل مفتاح واجهة برمجة التطبيقات (API key) كرمز حامل (bearer token). يجب أن يحمل المفتاح إذن hosting.import.manage؛ والمفتاح الذي لا يملكه يُرفض بالرمز 403 وليس 404.
لا يقبل هذا الطرف أي معرف للمؤسسة. يحدد مفتاحك بالفعل المؤسسة التي ينتمي إليها، وتكون الاستجابة محصورة في نطاقها.
جربه الآن
استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.
curl -X POST https://api.zinndigital.com/v1/migrations/probe \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "source": <MigrationSource>, "host": <string>, "username": <string> }'هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API
التفاصيل
The org-scoped twin of POST /v1/sites/{siteId}/migrations/probe, for the site-less /migrations/new form: authenticates against the source and enumerates it without creating a site or a job, and returns the same inventory. It exists because mail cannot move without a password per mailbox, no panel can read one out, and the customer can only be asked for the mailboxes the source actually holds once somebody has looked. mailboxes_without_passwords lists them; when a source cannot list mailboxes at all (Plesk to a subscription login) unavailable carries site_migration:mailboxes: mailbox_passwords_required, meaning name each mailbox with its password, not mail cannot move. ⛔ POST although it creates nothing: the body carries a live credential for somebody else's server. Name the organisation with X-Zinn-Org when you belong to more than one. Requires hosting.import.manage.
جسم الطلب
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
source | MigrationSource | نعم | The kind of hosting the site is being pulled from. ⛔ plesk is offered so the refusal can be specific and actionable, not because it is supported: pleskbackup is reachable… |
host | string | نعم | The server's public hostname, e.g. server123.yourhost.com. Must resolve to a public address — a private or link-local target is refused with source_host_not_public at the door… |
username | string | نعم | The login for the source panel or account. |
port | integer | لا | 0 means the source driver's default for that panel. |
password | string | لا | — |
private_key | string | لا | An SSH private key in PEM form, for an ssh source. |
api_token | string | لا | — |
include_mail | boolean | لا | ⚖️ Defaults to true, and a source that cannot deliver mailboxes is refused rather than silently migrated without them — a migration that moves a website and loses the mail is… |
mailbox_passwords | object | لا | address -> password, for every mailbox being moved. Required up front rather than discovered mid-sync: most panels will not hand over a mailbox without its own password, and… |
الاستجابة
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
domains | string[] | نعم | — |
files | integer | نعم | How many files were found. A count, not the list — a 5,000-file estate is not a form field, and the per-item rows are written by the job. |
databases | MigrationSourceDatabase[] | نعم | — |
mailboxes | MigrationSourceMailbox[] | نعم | — |
total_bytes | integer | نعم | — |
truncated | boolean | نعم | True when the source stopped short of a complete listing. Reported, never swallowed. |
unavailable | object | نعم | ⭐ The most important field here: capability -> machine code, naming what we could not look at. An empty object means "we looked and there is nothing else", which is a… |
mailboxes_without_passwords | string[] | نعم | The addresses no usable password was supplied for. The form points at exactly these rows; a create with any of them present is refused with mailbox_passwords_required. |
الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه
401 · 403 · 422 · 429