hosting
POST /v1/migrations/probe
Sign in to the old host and show what is there, with no site yet.
身份验证
请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 hosting.import.manage 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
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 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 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