When a domain’s deliverability is deteriorating, a swap replaces it with a fresh one inside the existing order — keeping the workspace, the customer, and the rest of the order intact. Two flavors:Documentation Index
Fetch the complete documentation index at: https://docs.peeker.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Standard. Old domain retired immediately. Lower cost, fastest cutover, brief send-pause on that one domain.
- Premium. Old domain stays warm 14 days alongside the new one. No sending interruption; smoother handoff during warmup.
Steps in detail
1. Choose standard or premium
1. Choose standard or premium
2. Submit the swap
2. Submit the swap
POST /swaps takes type (standard or premium), domain_id, and replacement_domain. Same response shape for both types — only type differs. The replacement_domain must be a domain Peeker can either buy from a partner registrar (registrar source) or one the customer has already imported (imported source).cURL
201 Created
3. Track swap status
3. Track swap status
Poll
GET /swaps/{id} or listen for the webhooks below.cURL
| Event | Fires when |
|---|---|
swap.created | Immediately after POST /swaps accepts. |
swap.in_progress | Workers picked it up. |
swap.completed | New domain is live; old one detached (or kept warm for premium). |
swap.failed | Swap hit an unrecoverable error. Read the next swap payload via GET /swaps/{id}. |
swap.action_required | Swap is blocked on partner input (e.g. replacement domain isn’t imported). |
4. Recovering from `swap.action_required`
4. Recovering from `swap.action_required`
The most common reason: the replacement domain isn’t imported yet. Run Importing domains & ordering for the replacement (just the import portion — no need for a new order), then call
POST /swaps again. The original swap will resolve automatically once the replacement is verified, or you can cancel it and start fresh.Webhook · swap.action_required
What’s next
Changing user names on active orders
Same domain, different people on the inboxes — for team rotations.
Best practices
Pending actions, webhook hygiene, idempotent retries.