IPs dedicados e pools
Na infraestrutura compartilhada, seu e-mail sai de endereços IP que você divide com outros clientes. Nós mantemos esses IPs saudáveis, mas sua reputação ainda é compartilhada com a de todos os outros. Um IP dedicado é um endereço do qual apenas a sua organização envia, então os provedores de caixa de entrada avaliam seu tráfego exclusivamente pelo seu próprio histórico. IP pools agrupam IPs dedicados em unidades roteáveis, e o campo ip_pool_id em um envio escolhe o pool para aquela mensagem.
Você nunca precisa de IPs dedicados para enviar. Toda organização começa com o Shared Bird.com Pool como padrão, então o e-mail flui desde o primeiro dia sem nada a configurar. IPs dedicados são um complemento pago que só compensa com volume consistente. Um IP dedicado pouco utilizado constrói reputação mais devagar do que o pool compartilhado já tem, então remetentes de baixo volume geralmente se saem melhor permanecendo no compartilhado. Um IP dedicado melhora a entregabilidade de e-mail? explica como o volume de envio e a reputação afetam essa escolha.
Duas coisas para saber antes de comprar:
- Novos IPs passam por um aquecimento automático antes de suportar volume total; o excedente é roteado pelo pool compartilhado nesse meio-tempo.
- IPs e pools pertencem à sua organização.
Onde você os gerencia
Gerencie pools e IPs em Email > IP Pools no dashboard, ou com os comandos CLI bird email ip-pools e bird email dedicated-ips. Essas operações exigem permissões no nível da organização. Os SDKs não incluem métodos tipados de gerenciamento. Para rotear uma mensagem por um pool, defina ip_pool_id conforme descrito em Selecionar um pool no momento do envio.

Comprar um IP dedicado
Compre um IP na aba Dedicated IPs ou com o CLI:
Exemplo de código
bird email dedicated-ips create --quantity 1 --ip-pool-id ipp_1btmn1nnkd8y6a4jckbkvvt9eh- Na sua primeira compra você pode omitir --ip-pool-id: nós criamos seu primeiro pool, chamado "Dedicated IPs", e provisionamos os IPs nele. Quando sua organização já tem pelo menos um pool, o campo é obrigatório; você escolhe onde cada novo IP é alocado.
- Cada IP é cobrado como assinatura mensal. Quando o saldo da sua carteira não cobre a compra, a resposta reporta requires_topup (adicione saldo para prosseguir) ou pending_topup (uma cobrança no cartão está sendo processada); os IPs são provisionados automaticamente assim que os fundos chegam.
- Compras são limitadas pela cota de email_ip_dedicated_max do seu plano, e pools pela cota de email_ip_pools_max.
Cada IP provisionado começa com o status warming e aumenta automaticamente; Aquecimento de IP cobre o cronograma e como monitorá-lo. O hostname do IP é seu nome de DNS reverso (PTR), o nome com o qual ele se apresenta aos servidores de e-mail receptores; adicione-o a qualquer lista de permissões que filtre por hostname de envio.
Comprar um IP não altera seu pool padrão. O pool compartilhado permanece como padrão até você trocá-lo explicitamente, porque rotear todo o seu tráfego não especificado para um IP frio, ainda em aquecimento, prejudicaria sua entregabilidade.
Um IP reporta um de quatro status:
| Status | Significado |
|---|---|
| warming | O IP é novo e está em aquecimento. Ele recebe uma parcela crescente do seu tráfego; o restante transborda para o pool compartilhado. |
| active | Aquecimento concluído. O IP suporta volume total. |
| suspended | O IP está temporariamente suspenso. |
| pending_cancellation | Você cancelou o IP. Ele continua enviando até o fim do período de cobrança que você já pagou, mas não é mais contabilizado quando as regras do pool padrão calculam o pool. |
IP pools
Pools separam fluxos de envio: uma configuração comum é um pool para e-mail transacional e outro para marketing, para que a reputação de uma campanha nunca afete suas redefinições de senha. Pools são gratuitos para criar, até a cota de email_ip_pools_max do seu plano.
Exemplo de código
bird email ip-pools create TransactionalExemplo de código
{
"created_at": "2026-07-23T14:48:28Z",
"id": "ipp_01ky7q6288fqnsghxyem91ryjv",
"ips": [],
"is_default": false,
"name": "Transactional",
"organization_id": "org_01ky7m21hjffg9pxj5xz6nx6ew",
"protected": false,
"updated_at": "2026-07-23T14:48:28Z"
}Pools são sempre criados como não padrão e vazios. Você os preenche comprando diretamente neles (--ip-pool-id na compra) ou movendo IPs existentes para dentro. Ao consultar um pool, a resposta retorna seus IPs membros por completo:
Exemplo de código
bird email ip-pools get ipp_1btmn1nnkd8y6a4jckbkvvt9ehExemplo de código
{
"created_at": "2026-06-29T13:56:39Z",
"id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
"ips": [
{
"address": "198.51.100.21",
"created_at": "2026-06-29T13:56:39Z",
"hostname": "mta1.send.goldcrest.dev",
"id": "dip_5g8r8h31kr8cz8zp1p4s837r4m",
"ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
"organization_id": "org_01ky7m235keybaf72b0fdgfwj4",
"purchased_at": "2026-06-29T13:56:39Z",
"status": "active",
"updated_at": "2026-07-23T13:56:39Z",
"warmup_completed_at": "2026-07-15T13:56:39Z",
"warmup_progress": 100,
"warmup_started_at": "2026-06-29T13:56:39Z"
}
],
"is_default": false,
"name": "Goldcrest Pool",
"organization_id": "org_01ky7m235keybaf72b0fdgfwj4",
"protected": false,
"updated_at": "2026-07-23T13:56:39Z"
}Pools pertencem à organização. O hostname de cada IP é atribuído automaticamente quando o IP é provisionado; trate-o como informativo, não como algo que você configura.
Sua lista de pools sempre inclui o Shared Bird.com Pool, marcado como protected: true. Ele aparece com um pool ID como qualquer outro, e o alias reservado ipp_shared resolve para ele em qualquer lugar onde um pool ID é aceito. Proteção significa que nós o gerenciamos: ele não pode ser renomeado nem excluído, não pode conter IPs dedicados e não conta na sua cota de pools. A única coisa que você pode alterar nele é se ele é o padrão.
Mover um IP entre pools
Um IP dedicado está sempre em exatamente um pool, sem estado de não atribuído. Mover é uma única atribuição:
Exemplo de código
bird email dedicated-ips assign dip_5g8r8h31kr8cz8zp1p4s837r4m --ip-pool-id ipp_01ky7q6288fqnsghxyem91ryjvO pool compartilhado não é um destino válido: IPs dedicados só ficam nos seus próprios pools.
Excluir um pool
Apenas pools vazios podem ser excluídos. Excluir um pool que ainda contém IPs é rejeitado com um 409; mova ou cancele seus IPs primeiro. O pool padrão não pode ser excluído de forma alguma; designe outro padrão antes de removê-lo.
Exemplo de código
bird email ip-pools delete ipp_01ky7q6288fqnsghxyem91ryjvO pool padrão
Quando um envio não especifica um pool, usamos seu pool padrão. As regras em torno dele são rígidas, porque o padrão precisa lidar com todo envio que não escolhe um:
- Exatamente um pool é sempre o padrão. O pool compartilhado é o padrão inicial, então isso é verdade desde o primeiro dia.
- O padrão é movido, nunca removido. Altere-o tornando outro pool o padrão. Isso desativa o padrão anterior no mesmo instante, então todo momento tem exatamente um padrão. Desativar is_default no padrão atual é rejeitado com um 422; para voltar ao roteamento compartilhado, torne o pool compartilhado o padrão:
Exemplo de código
bird email ip-pools update ipp_shared --is-default- Um pool dedicado precisa de pelo menos um IP que não esteja em encerramento para se tornar o padrão. Um IP warming conta; um IP em pending_cancellation não conta. Seu padrão nunca pode ser sustentado exclusivamente por IPs a caminho da desativação. O pool compartilhado é isento e é sempre um padrão válido.
- O último IP restante não pode sair do pool padrão. Enquanto um pool detém a designação de padrão, seu último IP não pode ser cancelado nem movido; troque o padrão primeiro, depois esvazie o pool.
Juntas, essas regras garantem que seu pool padrão sempre tenha algo de onde enviar.
Selecionar um pool no momento do envio
O roteamento é a parte desse recurso que vive na API pública. Escolha um pool por mensagem com o campo opcional ip_pool_id em POST /v1/email/messages:
await bird.email.send({
from: "noreply@yourdomain.com",
to: ["delivered@messagebird.dev"],
subject: "Your receipt",
html: "<p>Thanks for your order.</p>",
ip_pool_id: "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
});client.email.send(
from_="noreply@yourdomain.com",
to=["delivered@messagebird.dev"],
subject="Your receipt",
html="<p>Thanks for your order.</p>",
ip_pool_id="ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
)_, err := client.Email.Send(context.Background(), bird.EmailSendParams{
From: "noreply@yourdomain.com",
To: []string{"delivered@messagebird.dev"},
Subject: "Your receipt",
HTML: "<p>Thanks for your order.</p>",
IpPoolId: "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
})$bird->email->send(
from: 'noreply@yourdomain.com',
to: ['delivered@messagebird.dev'],
subject: 'Your receipt',
html: '<p>Thanks for your order.</p>',
ipPoolId: 'ipp_1btmn1nnkd8y6a4jckbkvvt9eh',
);bird email send \
--from noreply@yourdomain.com \
--html '<p>Thanks for your order.</p>' \
--ip-pool-id ipp_1btmn1nnkd8y6a4jckbkvvt9eh \
--subject 'Your receipt' \
--to delivered@messagebird.dev{
"name": "email_send",
"arguments": {
"from": {
"email": "noreply@yourdomain.com"
},
"html": "<p>Thanks for your order.</p>",
"ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh",
"subject": "Your receipt",
"to": [
{
"email": "delivered@messagebird.dev"
}
]
}
}curl -X POST https://us1.platform.bird.com/v1/email/messages \
-H "Authorization: Bearer $BIRD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "noreply@yourdomain.com",
"to": ["delivered@messagebird.dev"],
"subject": "Your receipt",
"html": "<p>Thanks for your order.</p>",
"ip_pool_id": "ipp_1btmn1nnkd8y6a4jckbkvvt9eh"
}'A resolução funciona assim:
- ip_pool_id omitido: o envio usa seu pool padrão.
- ip_pool_id: "ipp_shared": o envio é roteado pelo pool compartilhado independentemente do seu padrão. Útil para manter um fluxo de baixa prioridade na infraestrutura compartilhada enquanto um pool dedicado é seu padrão.
- ip_pool_id definido como um dos IDs dos seus pools: o envio passa por esse pool.
Um valor desconhecido, que pertence a outra organização ou que nomeia um pool sem IPs disponíveis é rejeitado com um 422. Nós não redirecionamos uma escolha explícita de pool para a infraestrutura compartilhada.
Cancelar um IP dedicado
O cancelamento tem duas fases. Cancelar agenda a remoção em vez de remover o IP imediatamente:
Exemplo de código
bird email dedicated-ips delete dip_5g8r8h31kr8cz8zp1p4s837r4mO IP transiciona para pending_cancellation e recebe um timestamp cancels_at, o fim do período de cobrança que você já pagou. Até cancels_at ele continua enviando como parte do seu pool; depois disso, nós o desprovisionamos dentro de uma hora. Cancelar um IP que já está pendente não tem efeito adicional.
Planeje considerando a única consequência imediata: um IP pending_cancellation para de contar nas regras do pool padrão imediatamente. E a proteção do pool padrão ainda se aplica: o último IP no pool padrão não pode ser cancelado; mova o padrão (para o pool compartilhado ou outro pool) primeiro.
Próximos passos
- Aquecimento de IP: como novos IPs dedicados aumentam até o volume total e quando trocar seu padrão
- Envio de e-mail: a solicitação completa de envio, incluindo ip_pool_id
- Entregabilidade · Email: o modelo de reputação no qual os IPs dedicados se encaixam
- Comprar um IP dedicado: um vídeo que compra um no dashboard e mostra o início do aquecimento
Recursos relacionados
Continue com a documentação, guias e exemplos sobre este tópico. Os recursos estão em inglês.