Visão geral
API de e-mail
Envie e-mails transacionais com uma única requisição HTTPS e depois agende, cancele, tente de novo ou encaminhe. URL base, autenticação, recursos e limites.
A API de e-mail envia e-mails da sua aplicação por HTTPS em vez de uma conexão SMTP. Use-a para e-mails transacionais, como confirmações de cadastro, redefinições de senha, recibos e alertas, principalmente quando você quer templates, agendamento, novas tentativas idempotentes e um ID separado para cada destinatário.
Como funciona
- A sua aplicação chama
POST /emailscom um endereço From em um domínio de envioDomínio de envioUm domínio seu, verificado com registros DNS, para que o Emailit possa enviar e-mails a partir dele com SPF, DKIM e um return path personalizado. verificado, os destinatários e o conteúdo ou um template. - O Emailit valida a requisição, cobra 1 crédito por destinatário e cria um e-mail por destinatário, cada um com o seu próprio ID
em_. - A resposta volta na hora com o status
accepted, ouscheduledse você definiu um horário de envio. A entrega acontece em segundo plano. - O Emailit assina a mensagem com DKIM para o seu domínio, faz a verificação de spam e entrega o e-mail. Falhas temporárias recebem novas tentativas por cerca de 21 horas.
- Cada mudança de status aparece em Email APIEmails e é enviada aos seus webhooks.
URL base e autenticação
| Item | Valor |
|---|---|
| URL base | https://api.emailit.com/v2 |
| Autenticação | Authorization: Bearer secret_•••• com uma chave de API |
| Corpo da requisição | JSON, enviado com Content-Type: application/json |
| Endpoint de envio | POST /emails |
Uma chave Full Access pode chamar todos os endpoints. Uma chave Sending Only pode enviar, reagendar, cancelar, tentar de novo e encaminhar e-mails, e você pode restringi-la a um único domínio de envio. Consulte Autenticação para mais detalhes.
Enviar um e-mail
curl https://api.emailit.com/v2/emails \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up, Ada.</p>",
"text": "Thanks for signing up, Ada."
}'import { Emailit } from '@emailit/node';
const emailit = new Emailit(process.env.EMAILIT_API_KEY);
const email = await emailit.emails.send({
from: 'Acme <hello@acme.com>',
to: 'ada@example.com',
subject: 'Welcome to Acme',
html: '<p>Thanks for signing up, Ada.</p>',
text: 'Thanks for signing up, Ada.',
});
console.log(email.id);import os
from emailit import EmailitClient
client = EmailitClient(os.environ["EMAILIT_API_KEY"])
email = client.emails.send({
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up, Ada.</p>",
"text": "Thanks for signing up, Ada.",
})$emailit = Emailit::client(getenv('EMAILIT_API_KEY'));
$email = $emailit->emails()->send([
'from' => 'Acme <hello@acme.com>',
'to' => 'ada@example.com',
'subject' => 'Welcome to Acme',
'html' => '<p>Thanks for signing up, Ada.</p>',
'text' => 'Thanks for signing up, Ada.',
]);Uma requisição bem-sucedida retorna 200 com o novo e-mail:
{
"object": "email",
"id": "em_33VtK8mRq1xZp7LwN4cY2bHsDfa",
"token": "33VtK8m4XcPq2RwZ7nLb1YsTgHd",
"message_id": "<33VtK8m4XcPq2RwZ7nLb1YsTgHd@acme.com>",
"from": "Acme <hello@acme.com>",
"to": ["ada@example.com"],
"subject": "Welcome to Acme",
"status": "accepted",
"scheduled_at": null,
"created_at": "2026-10-01T09:30:12.418203Z",
"tracking": { "loads": false, "clicks": false }
}Os workspaces novos começam no modo sandbox e só podem enviar para os endereços de e-mail das contas dos membros do workspace. Solicite acesso de produção antes de enviar para qualquer outra pessoa.
O que você pode fazer
Limites
| Limite | Valor |
|---|---|
| Destinatários por requisição | 50 em to, 50 em cc e 50 em bcc |
| Tamanho da mensagem | 40 MB, incluindo os anexos codificados |
| Anexo baixado de uma URL | 25 MB, com timeout de download de 30 segundos |
| Janela de idempotência | 24 horas |
| Limite de envio (padrão) | 2 e-mails por segundo e 5.000 e-mails por dia por workspace, compartilhados com o SMTP |
| Encaminhamento | 3 encaminhamentos por hora por workspace |
| Reagendar ou cancelar um e-mail agendado | Até 3 minutos antes do horário de envio |
| Janela para novas tentativas | 30 dias após a criação do e-mail original |
Os limites de envio contam destinatários, então uma requisição para 10 destinatários usa 10 da sua cota por segundo e diária. Os workspaces Pro e Business recebem aumentos automáticos com base na saúde de envio, e qualquer workspace pode pedir mais no card Sending Limits da página inicial do painel. Consulte Limites e cotas e Limites de requisições.
Créditos
Cada destinatário custa 1 crédito, e os endereços em to, cc e bcc contam todos. Se o workspace não tiver créditos suficientes para todos os destinatários, a requisição falha com 402 e nada é enviado. Novas tentativas e encaminhamentos são cobrados como novos envios.
| Ação | Créditos |
|---|---|
| E-mail enviado pela API ou por SMTP (por destinatário) | 1 |
| E-mail recebido | 1 |
| E-mail de campanha (por destinatário) | 2 |
| Execução de automação | 3 |
| Verificação de e-mail (por endereço) | 5 |
Consulte Como funcionam os créditos para saber como os créditos incluídos e comprados são usados.