IP Pools
IP pools let you group sending IPs by reputation profile and assign them to specific sending domains. PostMTA supports shared pools (multi-tenant), dedicated pools (customer-only), and bring-your-own (BYO) IP configurations.
Dedicated IP Pools (Customer-Only)
Dedicated IPs are assigned exclusively to your account. No other PostMTA customer shares these IPs, giving you full control over reputation trajectory. Dedicated IPs are ideal for high-volume senders who need consistent delivery performance independent of neighbours.
Dedicated IPs are provisioned by PostMTA and assigned to your account. You can also bring your own dedicated IPs (see BYO IP section below).
{pool_types}Shared IP Pools (Multi-Tenant)
Shared IPs are managed by PostMTA and load-balanced across multiple customers. They are the default option for low-to-medium volume senders. PostMTA automatically rotates traffic across the shared pool to distribute reputation.
Shared IPs are not assigned to specific sending domains; PostMTA selects the best IP from the shared pool per message based on domain, recipient domain, and current reputation signals.
Create a Pool
{create_pool}Pool fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Unique name for this pool within the workspace. |
type | string | Yes | dedicated or shared. |
description | string | No | Human-readable description. |
ip_assignment | string | Yes | postmta_owned or customer_owned. |
ip_addresses | array of strings | No | Required when ip_assignment is customer_owned. |
List and Inspect Pools
{list_pools}IP Pool Assignment per Sending Domain
Assign a specific IP pool to a sending domain to control which IPs carry traffic for that domain:
{assign_pool}A sending domain can only be assigned to one pool at a time. Re-assigning a domain to a new pool migrates traffic gradually as existing connections drain (no downtime).
Unassigned sending domains use the shared pool by default.
Per-IP Warmup Tracking
New IPs — whether PostMTA-provisioned or customer-owned — must go through a warmup period before reaching full volume. PostMTA tracks warmup state per IP and will not route traffic beyond the warmup schedule.
Warmup profiles available:
{warmup_profiles}Initiate Warmup
{warmup_start}Fields:
| Field | Type | Required | Description |
|---|---|---|---|
warmup_profile | string | Yes | gradual, standard, or aggressive. |
target_volume | integer | Yes | Daily target message volume at end of warmup. |
start_volume | integer | No | Initial daily volume. Defaults to 1% of target. |
start_date | string (ISO 8601) | No | UTC date to begin warmup. Defaults to today. |
Check Warmup Status
{warmup_status}Response:
{
"ip": "192.0.2.100",
"pool_id": "pool_01HXPOOL001",
"profile": "standard",
"phase": "ramping",
"day": 5,
"current_daily_volume": 3200,
"target_volume": 50000,
"pct_warmup": 6.4,
"estimated_full_warmup": "2026-08-05T00:00:00Z",
"reputation": {
"score": 92,
"status": "healthy"
}
}Pool Rotation: Replace Underperforming IPs
Rotate out an IP that has degraded reputation and replace it with a new one. The new IP inherits the warmup state of the replaced IP if the replacement is part of the same pool.
{rotate_ip}Valid reason values: degraded_reputation, blocklist_listing, ISP_throttling, maintenance, capacity_expansion.
Monitoring IP Reputation
PostMTA continuously monitors IP reputation using multiple external feeds and internal delivery signals. Query current reputation for an entire pool:
{ip_reputation}Response:
{
"pool_id": "pool_01HXPOOL001",
"pool_type": "dedicated",
"ips": [
{
"ip": "192.0.2.100",
"reputation_score": 97,
"status": "healthy",
"last_issue_at": null,
"blocklist_entries": []
},
{
"ip": "192.0.2.101",
"reputation_score": 61,
"status": "degraded",
"last_issue_at": "2026-07-15T14:22:00Z",
"blocklist_entries": [
{ "list": "Spamhaus", "listed_at": "2026-07-15T14:22:00Z" }
]
}
]
}Reputation scores range from 0 to 100. Scores below 70 trigger a degraded status. Scores below 40 trigger a critical status and traffic is automatically rerouted away from that IP until recovery.
BYO IP: Bring Your Own IPs
If you already own IP addresses and have established sender reputation with major mailbox providers, you can bring them into PostMTA as a dedicated pool without losing your existing reputation history.
{bring_your_own}BYO IP requirements:
- Minimum 3 IPs per pool (for redundancy and rotation).
- IPs must have valid reverse DNS (PTR records) pointing to your sending domain.
- DKIM must be configured on the sending domain before assigning IPs.
- IPs must not appear on major blocklists at time of onboarding.
- A warmup period of at least 7 days is required even for established IPs.
IP Pool Dashboard
All pool operations are available in the PostMTA dashboard under App → IPs. The dashboard shows:
- Pool list with type, IP count, and aggregate reputation score.
- Per-IP warmup progress bars and daily volume charts.
- Blocklist monitoring with delist request links where available.
- Rotation history with reason codes.
- BYO IP onboarding status.