hosting

POST /v1/transfers/{transferId}/accept

Accept an incoming site transfer.

所有 hosting 端点

身份验证

请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 sites.view 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。

此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。

免费试用

将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。

curl -X POST https://api.zinndigital.com/v1/transfers/{transferId}/accept \
  -H "Authorization: Bearer zdk_live_…"

已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点

详细信息

Takes ownership of the site. **This is the moment everything moves**, in one database transaction: the site, its subscription and paid term, its backups, links, CDN and edge bindings, security posture, placement and — when the offer included the domain — the registration, its DNS and its mail. Traffic, resource and vitals samples, support tickets, abuse reports and paid add-ons stay with the previous owner, because they are that party's record rather than a property of the site. Two references into the previous owner's own accounts are **detached** on the way: the site's CDN/edge `connection` and the domain's registrar credential. Carried across, the new owner would be operating a stranger's provider account. Mailbox passwords do **not** travel — they are vendor-side and are not ours to hand over. The new owner resets each one from the mail panel. The guard runs again here, on both organizations, and `422` refuses with the reasons. Addressable only by the **receiving** organization: a sender cannot accept their own offer. `409` when the offer was already decided. Requires `sites.view` **and** `sites.transfer`.

参数

名称类型必填内容简介
transferId (path)UuidSite transfer offer ID (UUIDv7).

响应

名称类型必填内容简介
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_namestringThe site's name as it was when the offer was made. Snapshotted onto the offer, not read live: while a transfer is pending the site still belongs to the sender, and reading it li…
primary_domainstringThe site's domain as it was when the offer was made. Snapshotted, as above.
directionstring<incoming, outgoing>From **this caller's** point of view. Computed per request, never stored — the same row is outgoing to one party and incoming to the other.
statusstring<pending, accepted, declined, cancelled, expired, failed>Five terminal states rather than one, because *why* an offer ended is what support is actually asked. `failed` means it was accepted and could not complete; nothing moved.
include_domainbooleanWhether the domain, its DNS and its mail travel with the site.
recipient_emailstringOnly populated for the **sender**. To the receiver it is their own address and carries no information; to anyone else it would be a third party's email address in a row two orga…
messagestring
expires_atstringAn unaccepted offer expires fourteen days after it is made.
term_ends_atstring
renewal_amount_minorinteger
renewal_currencystring
created_atstring
decided_atstring
failure_reasonstringWhy a `failed` transfer could not complete. Empty otherwise.

此端点可能返回的错误

401 · 403 · 404 · 409 · 422 · 429