Descripción general
API de email
Envía email transaccional con una sola petición HTTPS y después prográmalo, cancélalo, reinténtalo o reenvíalo. URL base, autenticación, funciones y límites.
La API de email envía email desde tu aplicación por HTTPS en lugar de por una conexión SMTP. Úsala para el correo transaccional, como confirmaciones de registro, restablecimientos de contraseña, recibos y avisos, sobre todo cuando quieras plantillas, programación, reintentos idempotentes y un ID distinto para cada destinatario.
Cómo funciona
- Tu aplicación llama a
POST /emailscon una dirección From de un dominio de envíoDominio de envíoUn dominio de tu propiedad que verificas con registros DNS para que Emailit pueda enviar correo desde él con SPF, DKIM y un return-path personalizado. verificado, los destinatarios y el contenido o una plantilla. - Emailit valida la petición, cobra 1 crédito por destinatario y crea un email por destinatario, cada uno con su propio ID
em_. - La respuesta llega al momento con el estado
accepted, oscheduledsi has indicado una hora de envío. La entrega se hace en segundo plano. - Emailit firma el mensaje con DKIM para tu dominio, ejecuta las comprobaciones de spam y lo entrega. Los fallos temporales se reintentan durante unas 21 horas.
- Cada cambio de estado aparece en Email APIEmails y se envía a tus webhooks.
URL base y autenticación
| Elemento | Valor |
|---|---|
| URL base | https://api.emailit.com/v2 |
| Autenticación | Authorization: Bearer secret_•••• con una clave de API |
| Cuerpo de la petición | JSON, enviado con Content-Type: application/json |
| Endpoint de envío | POST /emails |
Una clave Full Access puede llamar a todos los endpoints. Una clave Sending Only puede enviar, reprogramar, cancelar, reintentar y reenviar email, y puedes limitarla a un solo dominio de envío. Para más detalles, consulta Autenticación.
Enviar un email
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.',
]);Una petición correcta devuelve 200 con el email nuevo:
{
"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 }
}Los espacios de trabajo nuevos empiezan en modo sandbox y solo pueden enviar a las direcciones de email de cuenta de los miembros del espacio de trabajo. Solicita el acceso de producción antes de enviar a cualquier otra persona.
Qué puedes hacer
Límites
| Límite | Valor |
|---|---|
| Destinatarios por petición | 50 en to, 50 en cc y 50 en bcc |
| Tamaño del mensaje | 40 MB, incluidos los adjuntos codificados |
| Adjunto descargado desde una URL | 25 MB, con un tiempo de espera de descarga de 30 s |
| Ventana de idempotencia | 24 h |
| Velocidad de envío (por defecto) | 2 emails por segundo y 5000 emails al día por espacio de trabajo, compartidos con SMTP |
| Reenvíos | 3 reenvíos por hora por espacio de trabajo |
| Reprogramar o cancelar un email programado | Hasta 3 minutos antes de su hora de envío |
| Plazo para reintentar | 30 días desde que se creó el email original |
Los límites de velocidad cuentan destinatarios, así que una petición a 10 destinatarios consume 10 de tu cupo por segundo y diario. Los espacios de trabajo Pro y Business reciben aumentos automáticos según su salud de envío, y cualquier espacio de trabajo puede pedir más desde la tarjeta Sending Limits de la página de inicio del panel. Consulta Límites y Límites de velocidad.
Créditos
Cada destinatario cuesta 1 crédito, y cuentan todas las direcciones de to, cc y bcc. Si el espacio de trabajo no tiene créditos suficientes para todos los destinatarios, la petición falla con 402 y no se envía nada. Los reintentos y los reenvíos se cobran como envíos nuevos.
| Acción | Créditos |
|---|---|
| Email enviado por API o SMTP (por destinatario) | 1 |
| Email entrante recibido | 1 |
| Email de campaña (por destinatario) | 2 |
| Ejecución de automatización | 3 |
| Verificación de email (por dirección) | 5 |
Para saber cómo se usan los créditos incluidos y los comprados, consulta Créditos.