hosting

POST /v1/migrations/probe

Sign in to the old host and show what is there, with no site yet.

所有 hosting 端点

所有开发者文档

身份验证

请将 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.

请求正文

名称类型必填内容简介
sourceMigrationSourceThe 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…
hoststringThe 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…
usernamestringThe login for the source panel or account.
portinteger0 means the source driver's default for that panel.
passwordstring
private_keystringAn SSH private key in PEM form, for an ssh source.
api_tokenstring
include_mailboolean⚖️ 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_passwordsobjectaddress -> 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…

响应

名称类型必填内容简介
domainsstring[]
filesintegerHow 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.
databasesMigrationSourceDatabase[]
mailboxesMigrationSourceMailbox[]
total_bytesinteger
truncatedbooleanTrue when the source stopped short of a complete listing. Reported, never swallowed.
unavailableobjectThe 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_passwordsstring[]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