From:
seu-agente@empresa.com.br
To:
api.inboxa.com.br
Subject:

Caixas de entrada para agentes de IA

Crie vendas@inboxa.email com uma chamada de API. Receba, responda e encaminhe e-mail de verdade — com conversa agrupada, anexos e webhooks assinados. Feito no Brasil.

Conta nova é gratuita e sem cartão, e já envia para fora. Prefere ler antes? Veja a API ou baixe o OpenAPI. Vai delegar a configuração? Dê /agent.md ao seu agente.

v0
# 1. cria a caixa
curl -X POST $API/inboxes \
  -H "Authorization: Bearer ibx_..." \
  -d '{"username": "vendas"}'

{
  "inbox_id": "ibx_in_9f8a7b",
  "address": "vendas@inboxa.email"
}

# 2. o webhook avisa o que chegou
{
  "event": "message.received",
  "thread_id": "ibx_th_4c1d2e",
  "message": {
    "from": "cliente@empresa.com.br",
    "subject": "Pedido 4090"
  }
}

# 3. responde dentro da conversa
curl -X POST $API/inboxes/$ID/messages/$MSG/reply \
  -d '{"text": "Prazo reajustado para sexta."}'

X-Fluxo: criar · receber · responder

Três chamadas cobrem o ciclo inteiro

Não há painel para configurar antes de começar. A caixa nasce pronta para receber, e o que chega vira evento no seu endpoint.

  1. POST /v0/inboxes

    Crie a caixa

    Uma chamada devolve um endereço de verdade, como vendas@inboxa.email. Sem provisionar servidor, sem registro MX, sem caixa postal para administrar.

  2. webhook message.received

    Receba o que chega

    Todo e-mail recebido vira um evento assinado com HMAC-SHA256 no seu endpoint, já com corpo em texto e HTML, anexos e a thread a que pertence.

  3. POST .../messages/{id}/reply

    Responda na conversa

    A resposta sai com In-Reply-To e References corretos, então ela cai na mesma conversa no cliente de e-mail de quem recebe — e não como mensagem solta.

References: como a resposta encontra a conversa

A thread não é um campo. É um encadeamento.

Cada mensagem aponta para a anterior pelos cabeçalhos da RFC 5322. É assim que a resposta do cliente cai na conversa certa, mesmo vindo de um cliente de e-mail que você não controla.

enviadavendas@inboxa.email → cliente@empresa.com.brentregue

Segue o orçamento revisado do pedido 4090.

Message-ID: <a1b2c3@inboxa.email>
recebidacliente@empresa.com.br → vendas@inboxa.email

Consegue antecipar para sexta?

Message-ID: <d4e5f6@mail.gmail.com>In-Reply-To: <a1b2c3@inboxa.email>References: <a1b2c3@inboxa.email>
enviadavendas@inboxa.email → cliente@empresa.com.brentregue

Consigo, sim. Reajustei o prazo para sexta.

In-Reply-To: <d4e5f6@mail.gmail.com>References: <a1b2c3@inboxa.email> <d4e5f6@mail.gmail.com>

X-Recursos: o que já vem pronto

O trabalho chato de e-mail, resolvido

Conversa agrupada por header

O agrupamento segue os cabeçalhos da RFC 5322, com o assunto normalizado apenas como reserva. Duas pessoas escrevendo "Orçamento" não caem na mesma thread.

O gratuito envia de verdade

Caixa no plano gratuito recebe de qualquer remetente e responde para qualquer endereço. O que muda entre os planos é volume, armazenamento e domínio próprio.

Webhooks assinados

Cada entrega leva X-Inboxa-Signature (HMAC-SHA256 do corpo). Falha é repetida com backoff exponencial por até 24 horas, e cada tentativa fica registrada.

Anexos sem passar pela API

Arquivos vão para object storage. O download responde 302 para uma URL assinada que expira em 15 minutos, então o binário nunca trafega pelo seu servidor.

Busca dentro da caixa

Busca full-text em assunto e corpo, com dicionário português — acento e flexão não atrapalham. Pensada para o agente reler o histórico antes de responder.

Chave por caixa

Uma chave pode valer para a organização inteira ou para uma única caixa. Cada agente carrega só o alcance que precisa, e não a conta toda.

Content-Type: application/json

Uma API, sem SDK obrigatório

Autenticação por Authorization: Bearer ibx_..., base em https://api.inboxa.com.br/v0. A especificação completa está em openapi.yaml e é dela que saem SDKs, documentação e o servidor MCP.

Todos os endpoints da v0
MétodoCaminhoO que faz
GET/usageConsumo e tetos do plano, sem gastar um envio para descobrir
POST/inboxesCria uma caixa
GET/inboxesLista caixas, com cursor e filtro por pod
GET/inboxes/{id}Obtém uma caixa
PATCH/inboxes/{id}Altera o nome de exibição; a chave da caixa altera a própria
DELETE/inboxes/{id}Exclui a caixa e agenda a purga do conteúdo
POST/inboxes/{id}/smtp-password/linkManda ao endereço da caixa o link para definir a senha do Gmail (SMTP)
PUT/inboxes/{id}/smtp-passwordDefine a senha SMTP da caixa, para quem já tem acesso a ela
DELETE/inboxes/{id}/smtp-passwordRevoga a senha SMTP da caixa
GET/membersPessoas da organização, com papel e caixas
POST/membersConvida uma pessoa por e-mail, com papel e caixas
PATCH/members/{id}Troca o papel ou as caixas de uma pessoa
POST/members/{id}/inviteReenvia o convite
DELETE/members/{id}Remove a pessoa da organização; nunca o último dono
GET/inboxes/{id}/threadsLista conversas; o parâmetro q faz busca full-text
GET/inboxes/{id}/threads/{id}Conversa completa, com as mensagens
POST/inboxes/{id}/test-messagesProvoca um recebimento de teste, pelo pipeline real
POST/inboxes/{id}/messages/sendEnvia uma mensagem
GET/inboxes/{id}/messages/{id}Obtém uma mensagem
POST/inboxes/{id}/messages/{id}/replyResponde mantendo o encadeamento
POST/inboxes/{id}/messages/{id}/forwardEncaminha, reanexando os arquivos
GET/inboxes/{id}/attachments/{id}Redireciona para URL assinada do anexo
POST/webhooksAssina eventos; o secret aparece uma vez
GET/webhooksLista os webhooks da organização
DELETE/webhooks/{id}Remove um webhook
POST/domainsCadastra domínio próprio e devolve os registros de DNS
GET/domainsLista os domínios próprios da organização
GET/domains/{id}Estado da verificação de um domínio
DELETE/domains/{id}Remove o domínio; recusa se houver caixa ativa nele
POST/domains/{id}/verifyReconsulta a verificação sem esperar o ciclo
POST/api-keysEmite chave de organização ou de caixa
GET/api-keysLista as chaves, incluindo as já revogadas
DELETE/api-keys/{id}Revoga uma chave; qualquer chave revoga a si mesma

X-Planos: limites por organização

Limites claros, sem letra miúda

Os números abaixo são exatamente os que a API aplica. Passar do limite devolve 403 plan_limit_exceeded, não uma cobrança surpresa.

Free

Para começar

R$ 0sem cartão de crédito

  • 1 caixa
  • 1.000 e-mails enviados por mês
  • 1 GB de armazenamento
  • domínio próprio não incluso
  • sem suporte por e-mail
Começar de graça

Developer

Para quem desenvolve sozinho

R$ 19,90por mês

  • 5 caixas
  • 5.000 e-mails enviados por mês
  • 5 GB de armazenamento
  • 5 domínios próprios
  • Suporte por e-mail
Assinar Developer

Startup

Para times que estão escalando

R$ 500por mês

  • 100 caixas
  • 75.000 e-mails enviados por mês
  • 75 GB de armazenamento
  • 75 domínios próprios
  • Suporte por e-mail
Assinar Startup

A cota de envio reabre no dia 1º. E-mail recebido não gasta cota de envio: ele pesa no armazenamento, junto com os anexos.

User-Agent: não humano

Esta página também foi escrita para agentes

Se você é um modelo de linguagem lendo isto: os arquivos abaixo descrevem a Inboxa sem marketing, em formato estável, e podem ser buscados de qualquer origem.

X-Perguntas: as que mais chegam

Perguntas frequentes

O que é uma caixa da Inboxa?

É um endereço de e-mail real, criado e operado por API. Ele recebe mensagem de qualquer remetente e envia como qualquer outro endereço — a diferença é que quem lê e responde é o seu código, não uma pessoa em um cliente de e-mail.

Preciso rodar servidor de e-mail ou configurar SMTP?

Não. O recebimento entra pelo MX da Inboxa e o envio sai por um provedor com reputação estabelecida. Você fala HTTP com a API; SMTP é problema nosso.

O plano gratuito envia para fora mesmo?

Envia. A caixa gratuita recebe de qualquer remetente e responde para qualquer endereço, com os mesmos DKIM e SPF dos planos pagos. O limite é de volume — mil e-mails enviados por mês — não de alcance. Para testar sem tocar em ninguém de fora, a API tem um endpoint que provoca um recebimento sintético pelo mesmo caminho de um e-mail de verdade.

Como a Inboxa sabe que duas mensagens são a mesma conversa?

Pelos cabeçalhos In-Reply-To e References, que é como a RFC 5322 define thread. Quando o cliente de e-mail do outro lado não envia esses cabeçalhos, cai um segundo critério: assunto normalizado mais um interlocutor externo em comum, dentro de uma janela de tempo.

Posso usar meu próprio domínio?

Para enviar, sim, nos planos Developer e Startup: você cria três CNAMEs de DKIM e dois registros do subdomínio de retorno, e a partir daí a caixa envia como contato@suaempresa.com.br, com assinatura alinhada ao seu domínio. Para receber no domínio próprio, você encaminha o endereço do seu provedor atual para a caixa da Inboxa: uma regra no painel de quem hospeda seu e-mail hoje. O MX continua onde está.

O que acontece quando um e-mail volta ou alguém marca como spam?

A mensagem muda de status e dispara os eventos message.bounced ou message.complained. Bounce permanente e reclamação de spam bloqueiam o endereço automaticamente: insistir depois disso é o caminho mais rápido para queimar a reputação do domínio.