Tempo limitado: 30% DE DESCONTO no seu primeiro pagamento.
Voltar para a visão geral da API

Documentação da API do InboxWarm

Documentação de referência da API REST do InboxWarm. Use-a junto com a coleção Postman da API do InboxWarm.

URL base#

https://app.inboxwarm.ai/api/v1

Autenticação#

O InboxWarm usa um esquema de autenticação misto dependendo do método HTTP:

GET

Requisições GET e DELETE — envie sua chave de API como o parâmetro de consulta api_key.

POST

Requisições POST e PATCH — envie sua chave de API como um campo apiKey dentro do corpo JSON.

Gere e gerencie chaves em Developer kit > API Integration no aplicativo do InboxWarm. Cada chave concede acesso total à conta em todos os endpoints abaixo.

Exemplo — requisição GET:

GET https://app.inboxwarm.ai/api/v1/email-accounts?api_key=YOUR_API_KEY

Exemplo — corpo de requisição POST:

{
  "apiKey": "YOUR_API_KEY",
  ...
}

Limites de taxa#

O limite padrão é de 20 requisições/minuto por chave de API. Verifique o uso atual a qualquer momento via GET /rate-limit — esta chamada não conta contra sua cota.

Erros#

Os erros seguem um formato consistente:

{
  "error_code": "validation_error",
  "message": "One or more fields are invalid.",
  "details": {}
}

Valores comuns de error_code: validation_error (400), not_found (404), conflict (409), unprocessable (422).

Índice de endpoints#

Sistema

Verificação de integridade#

GEThttps://app.inboxwarm.ai/api/v1/health

Verificação básica de disponibilidade da API.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "status": "ok"
}

Status do limite de taxa#

GEThttps://app.inboxwarm.ai/api/v1/rate-limit

Verifique o consumo atual do limite de taxa sem gastar uma requisição da sua cota.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "limit": 20,
  "remaining": 18,
  "reset": 1752585600
}

Contas de e-mail

Listar contas de e-mail#

GEThttps://app.inboxwarm.ai/api/v1/email-accounts

Liste as contas de e-mail conectadas com seu status atual. Suporta busca, paginação e ordenação. Use a busca para localizar o emailAccountId de um endereço caso você precise resolvê-lo novamente.

Autenticação:parâmetro de consultaapi_key

Parâmetros de consulta

searchBuscar por endereço de e-mail ou nome
statusactive | warming | paused | error | auth-expired
sort
sortBy

Respostas

{
  "items": [
    {
      "id": "12345",
      "fromEmail": "john@yourcompany.com",
      "fromName": "John Doe",
      "type": "gmail",
      "status": "warming",
      "createdAt": "2026-06-01T10:00:00.000Z"
    },
    {
      "id": "12346",
      "fromEmail": "sales@yourcompany.com",
      "fromName": "Sales Team",
      "type": "microsoft",
      "status": "active",
      "createdAt": "2026-06-03T14:20:00.000Z"
    }
  ],
  "total": 2,
  "page": 1,
  "limit": 20,
  "totalPages": 1
}

Conectar conta de e-mail#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts

Conecte uma conta Gmail, Microsoft ou SMTP/IMAP usando credenciais SMTP/IMAP (uma senha de aplicativo funciona para Gmail e Microsoft). Armazene o emailAccountId retornado — todos os outros endpoints são indexados por ele.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "fromEmail": "john@yourcompany.com",
  "fromName": "John Doe",
  "type": "gmail",
  "smtp": {
    "host": "smtp.example.com",
    "port": 587,
    "password": "your-password",
    "encryption": "TLS",
    "userName": "smtp-username"
  },
  "imap": {
    "host": "imap.example.com",
    "port": 993,
    "encryption": "SSL",
    "userName": "imap-username"
  }
}

Respostas

{
  "emailAccountId": "12345",
  "fromEmail": "john@yourcompany.com",
  "fromName": "John Doe",
  "type": "gmail",
  "status": "active"
}

Conectar contas de e-mail em massa#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-connect

Conecte até 20 contas em uma única chamada. Cada entrada é validada e conectada de forma independente — uma conta inválida ou duplicada não impede as demais — e a resposta informa sucesso ou falha por conta, na mesma ordem da entrada.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccounts": [
    {
      "fromEmail": "john@yourcompany.com",
      "fromName": "John Doe",
      "type": "gmail",
      "smtp": { "host": "smtp.example.com", "port": 587, "password": "your-password", "encryption": "TLS", "userName": "smtp-username" },
      "imap": { "host": "imap.example.com", "port": 993, "encryption": "SSL", "userName": "imap-username" }
    },
    {
      "fromEmail": "sales@yourcompany.com",
      "type": "microsoft",
      "smtp": { "password": "app-specific-password" }
    }
  ]
}

Respostas

{
  "results": [
    {
      "success": true,
      "emailAccountId": "12345",
      "fromEmail": "john@yourcompany.com",
      "fromName": "John Doe",
      "type": "gmail",
      "status": "active"
    },
    {
      "success": false,
      "fromEmail": "sales@yourcompany.com",
      "error_code": "already_connected",
      "message": "This email address is already connected.",
      "details": {}
    }
  ]
}

Desconectar conta de e-mail#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/disconnect

Pause uma conta sem excluí-la. A configuração e o histórico são preservados para reconexão posterior.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}"
}

Respostas

{
  "emailAccountId": "12345",
  "status": "disconnected"
}

Excluir conta de e-mail#

DELETEhttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}

Remova permanentemente uma conta e todos os dados e o histórico de aquecimento associados.

Autenticação:parâmetro de consultaapi_key

Respostas

Sem corpo de resposta

Excluir contas de e-mail em massa#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-delete

Remova permanentemente até 20 contas em uma única chamada.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ]
}

Respostas

{
  "results": [
    {
      "emailAccountId": "12345",
      "deleted": true
    },
    {
      "emailAccountId": "12346",
      "deleted": true
    }
  ]
}

Obter status da conta de e-mail#

GEThttps://app.inboxwarm.ai/api/v1/email-accounts/{emailAccountId}/status

Status detalhado de uma única conta — integridade da conexão, estado do aquecimento, status de autenticação, erros ativos.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "emailAccountId": "12345",
  "fromEmail": "john@yourcompany.com",
  "type": "gmail",
  "authStatus": "connected",
  "warmupStatus": "active",
  "healthScore": 92,
  "connectionError": null,
  "lastConnectedAt": "2026-07-15T08:00:00.000Z"
}

Status de contas de e-mail em massa#

POSThttps://app.inboxwarm.ai/api/v1/email-accounts/bulk-status

Status de até 50 contas em uma única chamada, retornado na mesma ordem dos IDs de entrada.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ]
}

Respostas

{
  "results": [
    {
      "emailAccountId": "12345",
      "fromEmail": "john@yourcompany.com",
      "type": "gmail",
      "authStatus": "connected",
      "warmupStatus": "active",
      "healthScore": 92,
      "connectionError": null,
      "lastConnectedAt": "2026-07-15T08:00:00.000Z"
    },
    {
      "emailAccountId": "12346",
      "fromEmail": "sales@yourcompany.com",
      "type": "microsoft",
      "authStatus": "connected",
      "warmupStatus": "paused",
      "healthScore": 81,
      "connectionError": null,
      "lastConnectedAt": "2026-07-14T22:10:00.000Z"
    }
  ]
}

Aquecimento

Obter configurações de aquecimento#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}

Busque a configuração de aquecimento atual de uma conta.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "emailAccountId": "12345",
  "displayName": "Ada Lovelace",
  "timeZone": "America/New_York",
  "sendingDays": [1, 2, 3, 4, 5],
  "sendingWindowStartTime": "09:00",
  "sendingWindowEndTime": "17:00",
  "warmupLanguage": "en",
  "targetIndustry": "saas_software",
  "warmupTopics": ["Referral request", "Case study"]
}

Atualizar configurações de aquecimento#

PATCHhttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}

Atualize uma ou mais configurações de aquecimento de uma conta — nome do remetente, fuso horário, agenda de envio, idioma, setor ou tópicos. Apenas os campos enviados são alterados.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "displayName": "Ada Lovelace",
  "timeZone": "America/New_York",
  "sendingDays": [1, 2, 3, 4, 5],
  "sendingWindowStartTime": "09:00",
  "sendingWindowEndTime": "17:00",
  "warmupLanguage": "en",
  "targetIndustry": "saas_software",
  "warmupTopics": ["Referral request", "Case study"]
}

Respostas

{
  "emailAccountId": "12345",
  "displayName": "Ada Lovelace",
  "timeZone": "America/New_York",
  "sendingDays": [1, 2, 3, 4, 5],
  "sendingWindowStartTime": "09:00",
  "sendingWindowEndTime": "17:00",
  "warmupLanguage": "en",
  "targetIndustry": "saas_software",
  "warmupTopics": ["Referral request", "Case study"]
}

Listar idiomas de aquecimento#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/languages

Liste todos os idiomas nos quais o conteúdo de aquecimento pode ser gerado, para que você saiba quais valores o warmupLanguage aceita.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "languages": [
    { "code": "en", "name": "English", "nativeName": "English", "script": "Latin" },
    { "code": "es", "name": "Spanish", "nativeName": "Español", "script": "Latin" },
    { "code": "ja", "name": "Japanese", "nativeName": "日本語", "script": "Japanese" }
  ]
}

Listar setores de aquecimento#

GEThttps://app.inboxwarm.ai/api/v1/warmup-settings/industries

Liste todos os setores de destino e seus tópicos sugeridos, para que você saiba quais valores targetIndustry e warmupTopics aceitam.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "industries": [
    {
      "key": "e_commerce",
      "name": "E-Commerce",
      "topics": [
        "Abandoned cart follow-up",
        "New product launch",
        "Seasonal sale announcement",
        "Order and shipping update",
        "Customer review request"
      ]
    },
    {
      "key": "saas_software",
      "name": "SaaS / Software",
      "topics": ["Feature announcement", "Onboarding tip", "Case study"]
    }
  ]
}

Iniciar aquecimento#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/start

Inicie o aquecimento de uma conta.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}"
}

Respostas

{
  "emailAccountId": "12345",
  "warmupStatus": "active"
}

Parar aquecimento#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/{emailAccountId}/stop

Pare o aquecimento de uma conta.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}"
}

Respostas

{
  "emailAccountId": "12345",
  "warmupStatus": "paused"
}

Ação de aquecimento em massa#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/bulk-action

Inicie ou pare o aquecimento de até 50 contas em uma única chamada.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "action": "start"
}

Respostas

{
  "results": [
    {
      "emailAccountId": "12345",
      "status": "ok"
    },
    {
      "emailAccountId": "12346",
      "status": "ok"
    }
  ]
}

Atualizar configurações de aquecimento em massa#

POSThttps://app.inboxwarm.ai/api/v1/warmup-settings/bulk-update

Aplique configurações de agenda e/ou de conteúdo a até 50 contas em uma única chamada.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "apply": ["language", "window"],
  "warmupLanguage": "es",
  "sendingWindowStartTime": "06:00",
  "sendingWindowEndTime": "10:00"
}

Respostas

{
  "updatedCount": 2
}

Histórico de atividade de aquecimento#

GEThttps://app.inboxwarm.ai/api/v1/warmup-status/{emailAccountId}

Atividade de aquecimento de hoje para uma conta: enviados, recebidos, respondidos, spam, retornados.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "emailAccountId": "12345",
  "date": "2026-07-15",
  "current": "active",
  "dailySendingLimit": 10,
  "sent": 12,
  "received": 10,
  "replied": 7,
  "spam": 1,
  "bounced": 0
}

Entregabilidade

Obter pontuação de configuração#

GEThttps://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}

Pontuação de integridade da configuração em cache (verificações de DMARC, SPF, DKIM, MX, lista negra) de uma conta.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "emailAccountId": "12345",
  "emailAccountScore": 86,
  "dmarcScore": 15,
  "spfScore": 29,
  "dkimScore": 18,
  "mxRecordScore": 9,
  "ipBlacklistScore": 5,
  "domainBlacklistScore": 10,
  "updatedAt": "2026-07-14T10:30:00.000Z",
  "manualLastRefreshedAt": "2026-07-14T10:30:00.000Z"
}

Atualizar pontuação de configuração#

POSThttps://app.inboxwarm.ai/api/v1/setup-score/{emailAccountId}/refresh

Recalcule de forma síncrona a pontuação de configuração de uma conta.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}"
}

Respostas

{
  "emailAccountId": "12345",
  "emailAccountScore": 88,
  "dmarcScore": 15,
  "spfScore": 29,
  "dkimScore": 18,
  "mxRecordScore": 9,
  "ipBlacklistScore": 7,
  "domainBlacklistScore": 10,
  "updatedAt": "2026-07-15T09:00:00.000Z",
  "manualLastRefreshedAt": "2026-07-15T09:00:00.000Z"
}

Verificação de integridade de DNS#

GEThttps://app.inboxwarm.ai/api/v1/dns-health/{emailAccountId}

Consulta de DNS ao vivo para o domínio de envio da conta — aprovado/reprovado para SPF, DKIM, DMARC, MX.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "emailAccountId": "12345",
  "spf": "pass",
  "dkim": "pass",
  "dmarc": "pass",
  "mx": "pass",
  "cachedAt": "2026-07-15T09:00:00.000Z"
}

Obter pontuação de entregabilidade#

POSThttps://app.inboxwarm.ai/api/v1/deliverability-score/{emailAccountId}

Taxa geral e por ESP de entregabilidade caixa de entrada vs. spam para um intervalo de datas.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "startDate": "2026-06-01",
  "endDate": "2026-06-30",
  "esps": [
    "gmail",
    "outlook",
    "other"
  ]
}

Respostas

{
  "emailAccountId": "12345",
  "totalDeliverabilityRate": 88,
  "totalSentCount": 1500,
  "totalInboxCount": 1320,
  "totalSpamInboxCount": 180,
  "gmail": {
    "deliverabilityRate": 92,
    "sentCount": 500,
    "inboxCount": 460,
    "spamCount": 40
  },
  "outlook": {
    "deliverabilityRate": 92,
    "sentCount": 500,
    "inboxCount": 460,
    "spamCount": 40
  },
  "other": {
    "deliverabilityRate": 92,
    "sentCount": 500,
    "inboxCount": 460,
    "spamCount": 40
  }
}

Relatórios

Painel#

GEThttps://app.inboxwarm.ai/api/v1/dashboard

Resumo de aquecimento de toda a conta em todas as caixas de entrada conectadas.

Autenticação:parâmetro de consultaapi_key

Respostas

{
  "totalAccounts": 42,
  "activeWarmups": 30,
  "pausedWarmups": 8,
  "accountsWithErrors": 2,
  "avgSetupScore": 78.5
}

Relatório de conta única#

POSThttps://app.inboxwarm.ai/api/v1/reports

Relatório diário de aquecimento de uma conta em um intervalo de datas.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountId": "12345",
  "from": "2026-06-01",
  "to": "2026-06-30"
}

Respostas

{
  "emailAccountId": "12345",
  "from": "2026-06-01",
  "to": "2026-06-30",
  "days": [
    {
      "date": "2026-06-15",
      "sent": 25,
      "inbox": 20,
      "received": 22,
      "spam": 3,
      "bounced": 1,
      "undelivered": 0,
      "replied": 5,
      "deliverabilityRate": 92.5
    }
  ]
}

Relatório em massa#

POSThttps://app.inboxwarm.ai/api/v1/reports/bulk

Relatórios diários de aquecimento de até 50 contas em um intervalo de datas.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "from": "2026-06-01",
  "to": "2026-06-30"
}

Respostas

{
  "reports": [
    {
      "emailAccountId": "12345",
      "from": "2026-06-01",
      "to": "2026-06-30",
      "days": [
        {
          "date": "2026-06-15",
          "sent": 25,
          "inbox": 20,
          "received": 22,
          "spam": 3,
          "bounced": 1,
          "undelivered": 0,
          "replied": 5,
          "deliverabilityRate": 92.5
        }
      ]
    }
  ]
}

Exportar relatório#

POSThttps://app.inboxwarm.ai/api/v1/reports/export

Inicie uma exportação assíncrona em CSV de relatórios de aquecimento, entregue por e-mail quando estiver pronta.

Autenticação:campo do corpoapiKey

Corpo da requisição

{
  "apiKey": "{{apiKey}}",
  "emailAccountIds": [
    "12345",
    "12346"
  ],
  "from": "2026-06-01",
  "to": "2026-06-30"
}

Respostas

{
  "jobId": "a1b2c3d4",
  "status": "queued"
}