hosting

POST /v1/sites/{siteId}/migrations/managed-request

Buy the managed migration and let staff do it.

Sve hosting krajnje tačke

Autentifikacija

Pošaljite API ključ kao bearer token. Ključ mora imati dozvolu billing.payment.manage; ključ bez nje se odbija sa 403, a ne sa 404.

Ovaj krajnji tačka ne prihvata ID organizacije. Vaš ključ već identifikuje organizaciju kojoj pripada, a odgovor je ograničen na nju.

Isprobajte

Zamenite bilo šta u uglastim zagradama sopstvenim vrednostima, a ključni placeholder sa ključem sa vaše kontrolne table.

curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/migrations/managed-request \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

Prijavljeni ste? API konzola na vašoj kontrolnoj tabli automatski popunjava ID vaše stvarne organizacije i vaš sopstveni ključ, i izvršava zahtev nad API-jem uživo tako da možete videti stvarni odgovor. Otvorite ovu krajnju tačku u API konzoli

Detalji

Purchases the `managed_migration` extra — the paid, staff-run service the catalogue sells with a 72-hour SLA — for this site. The self-service migration above and this both exist; neither is a placeholder for the other, and this is the path for a source we cannot automate (Plesk, an unusual panel, a site nobody has the credentials for any more). It creates an **`ExtraPurchase`**, not a migration job: the charge, the tax, the invoice line and the SLA clock all come from the extras machinery, and the fulfilment workflow raises it to the staff queue. Returns the purchase, so the client can show its status and SLA. A declined card is 422 and nothing is booked; an environment whose catalogue has never been seeded answers 503 rather than 404, because the service exists and is advertised. An organization with **no** chargeable payment method gets 422 `PAYMENT_METHOD_REQUIRED` rather than the decline code — nothing reached a gateway, so nothing was refused (`docs/491` §7). ⛔ Send **no credentials** here — the body has nowhere to put them, and staff collect them out of band from a human they can verify. Requires `billing.payment.manage`, not `hosting.import.manage`: this spends money, and a developer who may migrate a site may not charge the account.

Parametri

NazivVrstaObaveznoŠta je ovo
siteId (path)UuidDaSite ID (UUIDv7).
Idempotency-Key (header)stringNeClient-generated key that makes an unsafe request replay-safe: the server stores the first response and returns it verbatim for repeats.

Telo zahteva

NazivVrstaObaveznoŠta je ovo
source_hoststringNeWhere the site is hosted today, so the fulfilment queue is actionable without a round trip. A hostname, never a login. Optional.
notestringNeAnything else staff should know before they start.
currencystringNeThe currency the customer was quoted in. Validated and refused if no gateway can charge it — this is a charge, and silently substituting the base currency would bill a different…

Odgovor

NazivVrstaObaveznoŠta je ovo
idUuidDaUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidDaUUIDv7 identifier — sortable by creation time (docs/02 §8).
extra_idUuidDaUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idobjectNe
domain_idobjectNe
statusExtraPurchaseStatusDaAn extra purchase's lifecycle state.
categorystringDa
fulfilment_typeExtraFulfilmentTypeDaHow an extra is delivered.
intervalExtraIntervalDaOne-off charge or a recurring subscription.
priceMoneyAmountDaA money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8).
recurrencestring<none, active, ended>DaWhether the recurrence behind this purchase is still live. `none` = it never recurred (a one-off); `active` = a scheduled charge exists; `ended` = it recurred and no longer does…
next_renewal_onobjectNeThe next charge date, or `null`. Also `null` for a live charge that has no date scheduled yet, so read `recurrence` — not this field — to decide whether a purchase renews at all.
sla_due_atobjectNe
completed_atobjectNe
failure_reasonstringNe
created_atstringDa
updated_atstringDa

Greške koje ovaj krajnji tačka može da vrati

401 · 403 · 404 · 422 · 429 · 503