hosting
POST /v1/transfers/{transferId}/accept
Accept an incoming site transfer.
Autenticação
Envie uma chave de API como um token de portador. A chave deve ter a permissão sites.view; uma chave sem ela é recusada com 403, e não 404.
Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.
Experimente
Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.
curl -X POST https://api.zinndigital.com/v1/transfers/{transferId}/accept \
-H "Authorization: Bearer zdk_live_…"Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API
Detalhes
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`.
Parâmetros
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
transferId (path) | Uuid | Sim | Site transfer offer ID (UUIDv7). |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
id | Uuid | Sim | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
site_id | Uuid | Sim | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
site_name | string | Não | The 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_domain | string | Não | The site's domain as it was when the offer was made. Snapshotted, as above. |
direction | string<incoming, outgoing> | Sim | 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. |
status | string<pending, accepted, declined, cancelled, expired, failed> | Sim | 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_domain | boolean | Sim | Whether the domain, its DNS and its mail travel with the site. |
recipient_email | string | Não | Only 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… |
message | string | Não | — |
expires_at | string | Sim | An unaccepted offer expires fourteen days after it is made. |
term_ends_at | string | Não | — |
renewal_amount_minor | integer | Não | — |
renewal_currency | string | Não | — |
created_at | string | Sim | — |
decided_at | string | Não | — |
failure_reason | string | Não | Why a `failed` transfer could not complete. Empty otherwise. |
Erros que este endpoint pode retornar
401 · 403 · 404 · 409 · 422 · 429