IP warmup
A brand-new IP address has no sending history, and mailbox providers treat mail from an unknown IP with suspicion: sudden volume from a cold IP looks exactly like a spammer spinning up infrastructure, so Gmail, Outlook, and the rest throttle or junk it. Warmup earns the address a reputation gradually, starting small and ramping up over weeks so providers learn to trust it. Every dedicated IP you purchase from Bird goes through it before carrying your full volume.
The ramp
You don't manage warmup yourself. Every newly purchased dedicated IP starts in the warming status, and Bird's sending infrastructure warms it automatically over roughly 30 days. The ramp is a fixed series of stages: at each stage the new IP carries a larger share of your traffic, and anything beyond what it can safely handle overflows through Bird's shared pool. Your mail keeps flowing at full volume the entire time; only the split between the new IP and the shared infrastructure changes as the ramp progresses.
Three facts define the ramp:
- warmup_progress is the completed fraction of the ramp, 0 to 100. It advances steadily as stages complete; expect increments, not jumps.
- Progress syncs hourly. Bird reconciles every warming IP against the sending infrastructure once an hour, so a change can take up to an hour to appear. Polling more often than that gains nothing.
- Completion flips the status to active. When the final stage is reached, warmup_progress reads 100, warmup_completed_at is set, and the IP carries whatever volume its pool sends with no overflow to shared infrastructure.
The full set of statuses a dedicated IP can report, including cancellation, lives in Dedicated IPs & pools.
Monitoring warmup
Watch status and progress on the Dedicated IPs page (Email → IP Pools → Dedicated IPs), or read the IP resource with the Bird CLI:

कोड उदाहरण
bird email dedicated-ips get dip_6jeq30c6f79n9st5z6002c349rकोड उदाहरण
{
"address": "198.51.100.22",
"created_at": "2026-06-29T13:56:39Z",
"hostname": "mta2.send.goldcrest.dev",
"id": "dip_6jeq30c6f79n9st5z6002c349r",
"ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
"organization_id": "org_01ky7m235keybaf72b0fdgfwj4",
"purchased_at": "2026-06-29T13:56:39Z",
"status": "warming",
"updated_at": "2026-07-23T13:56:39Z",
"warmup_progress": 45,
"warmup_started_at": "2026-06-29T13:56:39Z"
}The warmup fields:
- warmup_progress: how much of the ramp is complete, 0 to 100.
- warmup_started_at: when the ramp began, which is the moment of purchase.
- warmup_completed_at: appears once warmup finishes and the IP transitions to active. Absent while the IP is still warming.
When to flip your default
The ramp protects you from the volume curve, but two decisions stay in your hands:
- The shared pool stays your default until you change it. Buying a dedicated IP never reroutes your traffic: sends that don't name a pool keep riding Bird's warmed shared infrastructure, and traffic is never forced onto a cold IP. When you're ready, make your dedicated pool the default; the rules are in Dedicated IPs & pools.
- Wait for active before flipping. You can point traffic at a pool whose IPs are still warming, and overflow routing means the mail still delivers, but the cleanest pattern is to leave the shared pool as default until warmup_completed_at is set, then switch. Never plan around dumping your full volume on a freshly purchased IP; the reputation you build during warmup is the whole point.
If you run multiple pools, treat each new IP the same way: purchase it into its pool, watch warmup_progress, and route dedicated traffic deliberately once the IP is active.
Next steps
- Dedicated IPs & pools: purchasing IPs, organizing pools, and default-pool rules
- Deliverability · Email: where warmup fits in the reputation model