# 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:

```text
https://api.emailit.com/v2
```

Las 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](/es/docs/domains/verification/) y asigna a `EMAILIT_API_KEY` una de tus [claves de API](/es/docs/developers/api-keys/).

**cURL**

```bash
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>"
  }'
```

**Node.js**

```javascript
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>',
});
```

**Python**

```python
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](/es/docs/api-reference/emails/send/).

## Autenticación

Pasa una clave de API o un token de acceso OAuth en la cabecera `Authorization`:

```http
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](/es/docs/api-reference/authentication/).

## 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 devuelve `400` con el mensaje `Invalid JSON in request body`. El tamaño máximo del cuerpo de la petición es de 50 MB.
- **Métodos.** `GET` lee, `POST` crea y actualiza, y `DELETE` elimina. La API no usa `PUT` ni `PATCH`.
- **Objetos.** Cada objeto tiene un campo `object` que indica su tipo (`email`, `domain`, `api_key`, `audience`, `subscriber`, `contact`, …) y un `id`.
- **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 son `null`.
- **Listas.** Los endpoints de listado están paginados y la mayoría acepta filtros y ordenación. Consulta [Paginación](/es/docs/api-reference/pagination/) y [Filtrado](/es/docs/api-reference/filtering/).
- **Errores.** Las peticiones fallidas devuelven un código de estado `4xx` o `5xx` y un cuerpo JSON que explica el problema. Consulta [Errores](/es/docs/api-reference/errors/).

## 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_` | Email | `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](/es/docs/api-reference/versioning/).

## Recursos

  - [Emails](/es/docs/api-reference/emails/): Envía emails, consulta los mensajes y su contenido, y prográmalos, cancélalos, reinténtalos o reenvíalos.
  - [Dominios](/es/docs/api-reference/domains/): Añade dominios de envío, consulta sus registros DNS y verifícalos.
  - [Informes DMARC](/es/docs/api-reference/dmarc/): Consulta los informes DMARC agregados y forenses de un dominio, o sube los tuyos.
  - [Claves de API](/es/docs/api-reference/api-keys/): Crea, renombra, regenera y elimina las claves de API de un espacio de trabajo.
  - [Listas de contactos](/es/docs/api-reference/audiences/): Gestiona las listas de suscriptores que usan las campañas y los formularios de suscripción.
  - [Suscriptores](/es/docs/api-reference/audiences/subscribers/): Añade, actualiza y quita los suscriptores de una lista de contactos.
  - [Contactos](/es/docs/api-reference/contacts/): Gestiona los perfiles de contacto y los campos personalizados, de uno en uno o de forma masiva.
  - [Campañas](/es/docs/api-reference/campaigns/): Crea campañas, elige sus listas de contactos y envíalas o prográmalas.
  - [Automatizaciones](/es/docs/api-reference/automations/): Crea flujos de trabajo a partir de disparadores y pasos, lánzalos y consulta sus ejecuciones.
  - [Formularios](/es/docs/api-reference/forms/): Crea formularios de suscripción, publícalos y rota su token público.
  - [Plantillas](/es/docs/api-reference/templates/): Crea versiones de plantillas, publica una por alias y envía con ella.
  - [Direcciones bloqueadas](/es/docs/api-reference/suppressions/): Consulta y gestiona las direcciones a las que Emailit no envía emails.
  - [Webhooks](/es/docs/api-reference/webhooks/): Registra endpoints que reciben notificaciones de eventos firmadas.
  - [Eventos](/es/docs/api-reference/events/): Consulta el flujo de eventos que hay detrás de los webhooks: entregas, rebotes, aperturas y más.
  - [Verificación de emails](/es/docs/api-reference/email-verifications/): Verifica una dirección en tiempo real.
  - [Listas de direcciones](/es/docs/api-reference/email-verifications/lists/): Verifica hasta 10.000 direcciones de una vez y exporta los resultados.

Para ver en una sola tabla todos los endpoints y el permiso que necesita cada uno, consulta [Todos los endpoints](/es/docs/api-reference/endpoints/).

## SDK

Las bibliotecas oficiales envuelven la API para los lenguajes más habituales. Son de código abierto y están en [GitHub](https://github.com/emailit).

| Lenguaje | Paquete | Guía |
| --- | --- | --- |
| Node.js | `@emailit/node` | [Node.js](/es/docs/frameworks/nodejs/) |
| Python | `emailit` | [Python](/es/docs/frameworks/python/) |
| PHP | `emailit/emailit-php` | [PHP](/es/docs/frameworks/php/) |
| Laravel | `emailit/emailit-laravel` | [Laravel](/es/docs/frameworks/laravel/) |
| Ruby | `emailit` | [Ruby on Rails](/es/docs/frameworks/rails/) |
| Go | `github.com/emailit/emailit-go/v2` | [Go](/es/docs/frameworks/go/) |
| Java | `com.emailit` | [Java](/es/docs/frameworks/java/) |
| .NET | `Emailit` | [.NET](/es/docs/frameworks/dotnet/) |
| Rust | `emailit` | [SDK](/es/docs/sdks/) |

## Webhooks y eventos

En lugar de consultar periódicamente los cambios de estado, registra un [webhook](/es/docs/webhooks/) 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](/es/docs/api-reference/events/list/). Para la lista completa, consulta [Tipos de eventos](/es/docs/webhooks/event-types/).

## 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](/es/docs/mcp/) y la [referencia de herramientas](/es/docs/mcp/tools/).

## Ver también

  - [Autenticación](/es/docs/api-reference/authentication/): Claves de API, permisos, limitación a un dominio y tokens OAuth.
  - [Límites de velocidad](/es/docs/api-reference/rate-limits/): Límites de envío, cabeceras de respuesta y cómo esperar antes de reintentar.
  - [Errores](/es/docs/api-reference/errors/): Formatos de error, códigos de estado y soluciones habituales.
  - [Enviar tu primer email](/es/docs/quickstart/api/): Un inicio rápido paso a paso, desde la clave de API hasta la bandeja de entrada.

---
Fuente: https://emailit.com/es/docs/api-reference/
