email.warmup API
Warm up one of your inboxes before cold sending: a network of real mailboxes sends to it, opens, replies and pulls its mail out of spam, on a ramp to the daily volume you set, weekdays 8am to 6pm. action start (run it again to change volume, ramp or timezone), pause, resume or stop. Charged per inbox per 30 days by daily volume; progress is free with email.warmup_status.
Mailivery:
all inputs ✓
✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.
| Provider | Status |
|---|---|
Mailivery |
live |
Unit: per_inbox_month · unmatched results billed: no
Starting warm-up charges the first 30 days, priced by emails_per_day (about $0.47 per daily email; 20 a day is $9.33). Running warm-ups renew every 30 days from your balance; raising the volume mid-period charges the prorated difference; pause and stop refund nothing, and resuming after the paid period ends starts a new one.
The exact quote is returned by /v1/inspect before every call and held with headroom on execution. The quote is the price floor: if the provider's actual cost overruns it, the run bills the overrun at the same rate, never above the hold. The unused part of every hold is released.
curl https://api.routergrowth.com/v1/run \ -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \ -d '{ "capability": "email.warmup", "input": { "inbox_id": "alex@getacme.com", "emails_per_day": 20, "ramp_up": "slow" }, "routing": {"provider": "auto"} }'
{
"properties": {
"action": {
"default": "start",
"description": "start begins warm-up or retunes a running one; resume also reconnects an inbox the network lost; stop disconnects it and ends billing",
"enum": [
"start",
"pause",
"resume",
"stop"
],
"type": "string"
},
"emails_per_day": {
"default": 20,
"description": "Target warm-up emails a day: the cold volume you plan to send from this inbox, 50 at most",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"first_name": {
"description": "Signs the warm-up emails; defaults to the inbox\u0027s display_name",
"type": "string"
},
"inbox_id": {
"description": "From email.inbox or email.inboxes: an inbox on a domain you own",
"type": "string"
},
"last_name": {
"description": "Defaults to the inbox\u0027s display_name",
"type": "string"
},
"ramp_up": {
"default": "slow",
"description": "How fast volume climbs to the target: slow for a domain registered in the last few weeks, fast for one already sending",
"enum": [
"slow",
"normal",
"fast"
],
"type": "string"
},
"timezone": {
"default": "America/New_York",
"description": "IANA timezone of the sending window, e.g. Europe/Paris",
"type": "string"
}
},
"required": [
"inbox_id"
],
"type": "object"
}
inbox_id · action · status · emails_per_day · ramp_up · filter_id · charged_through · next_step