Skip to main content
POST
/
swaps
Creating a domain swap
curl --request POST \
  --url https://api.peeker.ai/partner/v1/swaps \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "domain_id": "<string>",
  "replacement_domain": "<string>"
}
'
{ "data": { "id": "swp_01HZX0SW1A2B3C4D5E6F7G8H", "type": "premium", "domain_id": "dom_01HZX0D01A2B3C4D5E6F7G8H", "replacement_domain": "acme-fresh.com", "status": "created", "created_at": "2026-05-08T12:00:00Z" } }
Standard vs Premium. standard retires the old domain immediately — fine when you can absorb a brief sending pause. premium keeps the old domain warm for 14 days alongside the new one for a smoother handoff with no sending interruption.Premium swaps are available on Microsoft domains only, count against a per-tier quota (Base 20% / Premium 30% / VIP 40% / VIP+ 60% of active Microsoft inboxes), and each domain has a 30-day cooldown between premium swaps.For renaming the people on inboxes without changing the domain, use POST /swaps/user_names instead.

Authorizations

Authorization
string
header
default:Bearer pk_test_<your-test-key>
required

Your partner API key. Use pk_live_… against the live system or pk_test_… against the sandbox.

Body

application/json
type
enum<string>
required
Available options:
standard,
premium
domain_id
string
required

The dom_… ID of the domain you want to retire.

replacement_domain
string
required

The new domain to use.

Response

201 - application/json

A swap.

data
object
required
Last modified on June 16, 2026