Referencia
Referencia de la API
La API REST de Emailit de un vistazo. URL base, autenticación, peticiones y respuestas JSON, ID de objeto, control de versiones y todos los recursos que puedes gestionar.
La API de Emailit es una API REST que se sirve por HTTPS. Envías JSON, recibes JSON y autenticas cada petición con un token Bearer. Úsala para enviar emails y para gestionar todo lo demás en un espacio de trabajo: dominios de envío, claves de API, contactos, listas de contactos, campañas, plantillas, webhooks y más.
URL base
Todas las peticiones van a la URL base de la versión 2:
https://api.emailit.com/v2Las rutas de esta referencia son relativas a ella. Por ejemplo, POST /emails significa POST https://api.emailit.com/v2/emails.
Hacer tu primera petición
Esta petición envía un email. Sustituye el remitente por una dirección de un dominio de envío verificado y asigna a EMAILIT_API_KEY una de tus claves de API.
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.</p>"
}'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.</p>',
});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.</p>",
})La respuesta es el nuevo objeto de email con su ID (em_…) y el estado accepted. Para ver todas las opciones, consulta Enviar un email.
Autenticación
Pasa una clave de API o un token de acceso OAuth en la cabecera Authorization:
Authorization: Bearer secret_••••••••••••••••••••••••••••••••Las claves de API empiezan por secret_ y pertenecen a un espacio de trabajo. Una clave tiene el permiso full (todos los endpoints) o el permiso sending (solo los endpoints de envío), y una clave de envío se puede limitar a un dominio de envío. Las peticiones sin una clave válida fallan con 401. Consulta Autenticación.
Peticiones y respuestas
- JSON de entrada, JSON de salida. Envía los cuerpos de las peticiones en JSON con
Content-Type: application/json. Un cuerpo que no es JSON válido devuelve400con el mensajeInvalid JSON in request body. El tamaño máximo del cuerpo de la petición es de 50 MB. - Métodos.
GETlee,POSTcrea y actualiza, yDELETEelimina. La API no usaPUTniPATCH. - Objetos. Cada objeto tiene un campo
objectque indica su tipo (email,domain,api_key,audience,subscriber,contact, …) y unid. - Marcas de tiempo. Las fechas son cadenas ISO 8601 en UTC con precisión de microsegundos, por ejemplo
2026-10-01T09:30:12.482913Z. Los campos sin valor sonnull. - Listas. Los endpoints de listado están paginados y la mayoría acepta filtros y ordenación. Consulta Paginación y Filtrado.
- Errores. Las peticiones fallidas devuelven un código de estado
4xxo5xxy un cuerpo JSON que explica el problema. Consulta Errores.
ID de objeto
Los ID son cadenas formadas por un prefijo de tipo y 27 letras y dígitos, por ejemplo em_4KYof1ZzXndZE2VPi0DgULiekG8. Los ID distinguen entre mayúsculas y minúsculas y siguen, aproximadamente, el orden de creación.
| Prefijo | Objeto | Prefijo | Objeto |
|---|---|---|---|
em_ |
aud_ |
Lista de contactos | |
dom_ |
Dominio de envío | sub_ |
Suscriptor |
key_ |
Clave de API | con_ |
Contacto |
tem_ |
Plantilla | cmp_ |
Campaña |
sup_ |
Dirección bloqueada | frm_ |
Formulario |
wh_ |
Webhook | fsub_ |
Respuesta de formulario |
whr_ |
Petición de webhook | aut_ |
Automatización |
evt_ |
Evento | aur_ |
Ejecución de automatización |
dmr_ |
Informe DMARC | ev_ |
Verificación de email |
evl_ |
Lista de direcciones |
Algunos recursos también aceptan un identificador legible en la ruta. Los dominios, las claves de API, las listas de contactos, las campañas y los webhooks aceptan su nombre (GET /domains/acme.com). Los contactos y las direcciones bloqueadas aceptan una dirección de email, y los suscriptores aceptan la dirección de email del contacto. Codifica para URL los nombres y las direcciones que contengan caracteres especiales. Los dominios creados antes del cambio a los ID dom_ conservan su ID sd_ o sed_, y esos ID siguen funcionando.
Control de versiones
La versión actual es v2, y forma parte de la URL base. Los nuevos campos y endpoints se añaden a v2 sin cambiar de versión, así que escribe clientes que ignoren los campos que no reconozcan. Consulta Control de versiones.
Recursos
Para ver en una sola tabla todos los endpoints y el permiso que necesita cada uno, consulta Todos los endpoints.
SDK
Las bibliotecas oficiales envuelven la API para los lenguajes más habituales. Son de código abierto y están en GitHub.
| Lenguaje | Paquete | Guía |
|---|---|---|
| Node.js | @emailit/node |
Node.js |
| Python | emailit |
Python |
| PHP | emailit/emailit-php |
PHP |
| Laravel | emailit/emailit-laravel |
Laravel |
| Ruby | emailit |
Ruby on Rails |
| Go | github.com/emailit/emailit-go/v2 |
Go |
| Java | com.emailit |
Java |
| .NET | Emailit |
.NET |
| Rust | emailit |
SDK |
Webhooks y eventos
En lugar de consultar periódicamente los cambios de estado, registra un webhook y Emailit enviará lotes de eventos firmados a tu endpoint a medida que se produzcan: entregas, rebotes, aperturas, clics, nuevos contactos y más. Los mismos eventos están disponibles en Listar eventos. Para la lista completa, consulta Tipos de eventos.
Servidor MCP
El servidor MCP alojado en https://api.emailit.com/mcp permite que asistentes de IA como ChatGPT, Claude, Cursor, Codex y Grok llamen a esta API en tu nombre: 109 herramientas cubren todos los recursos de esta página. Los asistentes inician sesión con OAuth o usan una clave de API, con los mismos permisos. Consulta Servidor MCP y la referencia de herramientas.