Dedicated IPs
Request, manage, and warm up dedicated sending IP addresses
Dedicated IPs give you exclusive control over a sending IP's reputation. Unlike shared pools, your IP is never affected by other senders. Dedicated IPs are available on the Max and Enterprise plans and are billed at $29 per IP per month.
Authentication
Read operations require the ips, ips:read, or admin scope. Write operations require the ips, ips:write, or admin scope. Base URL: https://api.misar.io/mail.
Each dedicated IP belongs to a dedicated IP pool (pool_id). A hard cap of 10 dedicated IPs per account applies. New IPs are provisioned by the operations team (the ip_address starts as a placeholder) and warm up automatically.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v1/dedicated-ips | List assigned IPs |
POST | /api/v1/dedicated-ips | Request a dedicated IP for a pool |
GET | /api/v1/dedicated-ips/:id | IP details, warm-up schedule, and reputation history |
PATCH | /api/v1/dedicated-ips/:id | Update warm-up flag or pool assignment |
List dedicated IPs
/mail/v1/dedicated-ipsList all dedicated IPs assigned to the account, ordered by newest first.
Response fields
successbooleantrue when the request succeeded.
dataArray<IP>The assigned IPs. Each includes id, ip_address, hostname, ptr_record, status, warmup_enabled, warmup_start_date, warmup_day, warmup_target_volume, daily_volume, reputation_score, last_used_at, monthly_price_cents, billing_active, created_at, updated_at, and the nested dedicated_ip_pools (id, pool_name).
curl https://api.misar.io/mail/v1/dedicated-ips \
-H "Authorization: Bearer msk_YOUR_API_KEY"{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"ip_address": "198.51.100.42",
"hostname": "mail.yourdomain.com",
"ptr_record": "mail.yourdomain.com",
"status": "warming",
"warmup_enabled": true,
"warmup_start_date": "2026-03-15",
"warmup_day": 14,
"warmup_target_volume": 25000,
"daily_volume": 3800,
"reputation_score": 84,
"last_used_at": "2026-03-29T09:12:00Z",
"monthly_price_cents": 2900,
"billing_active": true,
"created_at": "2026-03-15T10:00:00Z",
"updated_at": "2026-03-29T09:12:00Z",
"dedicated_ip_pools": {
"id": "11111111-2222-3333-4444-555555555555",
"pool_name": "Marketing"
}
}
]
}Request a dedicated IP
/mail/v1/dedicated-ipsRequest a new dedicated IP into an existing dedicated IP pool you own. The IP is created with a placeholder ip_address (0.0.0.0) that the operations team overwrites during provisioning; warm-up is enabled automatically. Billed at monthly_price_cents: 2900 ($29/mo).
Request body
pool_idUUIDbodyrequiredID of a dedicated IP pool that belongs to you.
Response fields
successbooleantrue when the IP was created.
dataobjectThe newly created dedicated IP row.
curl -X POST https://api.misar.io/mail/v1/dedicated-ips \
-H "Authorization: Bearer msk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "pool_id": "11111111-2222-3333-4444-555555555555" }'{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"pool_id": "11111111-2222-3333-4444-555555555555",
"ip_address": "0.0.0.0",
"status": "provisioning",
"monthly_price_cents": 2900,
"warmup_enabled": true,
"warmup_day": 0
}
}{
"success": false,
"error": "Maximum of 10 dedicated IPs per account"
}Get IP details
/mail/v1/dedicated-ips/:idGet a single dedicated IP with its current warm-up schedule entry and its last 30 days of reputation history.
Path parameters
idUUIDpathrequiredID of the dedicated IP.
Response fields
successbooleantrue when the request succeeded.
dataobjectThe IP row plus warmup_schedule_entry (the matching ip_warmup_schedule row, or null) and reputation_history (array of recent reputation samples).
curl https://api.misar.io/mail/v1/dedicated-ips/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer msk_YOUR_API_KEY"{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"ip_address": "198.51.100.42",
"status": "warming",
"warmup_enabled": true,
"warmup_day": 14,
"warmup_target_volume": 25000,
"reputation_score": 84,
"warmup_schedule_entry": { "day": 14, "daily_limit": 4000 },
"reputation_history": [
{ "sampled_at": "2026-03-28", "reputation_score": 82 },
{ "sampled_at": "2026-03-29", "reputation_score": 84 }
]
}
}Update IP settings
/mail/v1/dedicated-ips/:idToggle warm-up or reassign the IP to a different pool you own.
Path parameters
idUUIDpathrequiredID of the dedicated IP.
Request body
warmup_enabledbooleanbodyEnable or disable automatic warm-up.
pool_idUUIDbodyReassign to a different dedicated IP pool. Must belong to you.
Response fields
successbooleantrue when the update succeeded.
dataobjectThe updated dedicated IP row.
curl -X PATCH https://api.misar.io/mail/v1/dedicated-ips/550e8400-e29b-41d4-a716-446655440000 \
-H "Authorization: Bearer msk_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "warmup_enabled": false, "pool_id": "66666666-7777-8888-9999-000000000000" }'{
"success": true,
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"warmup_enabled": false,
"pool_id": "66666666-7777-8888-9999-000000000000"
}
}Status codes
- 200 — OK. List, detail, or update succeeded.
- 201 — Created. Dedicated IP requested.
- 400 — Bad request. Invalid IP id, malformed JSON, or failed body validation (
error: "Validation failed"withdetails). - 401 — Unauthorized. Missing or invalid API key.
- 403 — Forbidden. API key lacks the required
ipsscope. - 404 — Not found. Dedicated IP, or the target pool, does not belong to you.
- 415 — Unsupported Media Type.
Content-Typeis notapplication/jsonon a write. - 422 — IP cap reached. The account already has 10 dedicated IPs.