Ir al contenido

Listas

Una lista es un grupo de contactos al que puedes dirigir una campaña. Cada campaña apunta a exactamente una lista, y una lista puede contener cualquier número de contactos activos. Las listas son independientes entre sí: un contacto puede estar en varias listas al mismo tiempo, y removerlo de una lista no lo afecta en las demás ni lo elimina del sistema.

CampoTipoDescripción
idstringIdentificador slug de la lista.
namestringNombre descriptivo.
key_idstringAPI key a la que pertenece.
contact_countintegerCantidad de contactos en la lista.
created_atstringFecha de creación (ISO 8601).
GET /v1/bulk/lists

Devuelve un array con todas las listas de tu cuenta, incluyendo contact_count de cada una.


POST /v1/bulk/lists

Body:

{ "name": "Newsletter Q3 2026" }

Devuelve 201 con la lista creada, incluyendo su id generado automáticamente.


GET /v1/bulk/lists/{id}

Devuelve el detalle de la lista más sus contactos paginados.

Parámetros de query:

ParámetroDescripción
limitMáximo de contactos a devolver.
offsetDesplazamiento para paginación.
statusFiltra contactos por estado.

PATCH /v1/bulk/lists/{id}

Body:

{ "name": "Newsletter Q4 2026" }

DELETE /v1/bulk/lists/{id}

Elimina la lista. Devuelve 204 No Content. Si la lista está referenciada por una campaña activa, devuelve 409 Conflict.


POST /v1/bulk/lists/{id}/contacts

Body:

{ "emails": ["ana@empresa.com", "pedro@cliente.io"] }

Los emails deben corresponder a contactos ya existentes en tu cuenta. Devuelve 200 con la cantidad de contactos agregados.


DELETE /v1/bulk/lists/{id}/contacts/{email}

Quita el contacto de esta lista. Devuelve 204 No Content. El contacto sigue existiendo en el sistema y en cualquier otra lista donde esté incluido.


POST /v1/bulk/lists/{id}/duplicate

Crea una copia de la lista con todos sus contactos. Útil para crear segmentos derivados sin partir de cero. Devuelve 201 con la nueva lista.


POST /v1/bulk/lists/delete

Eliminación atómica de múltiples listas. Body:

{ "ids": ["newsletter-q3-abc123", "promo-verano-xyz"] }

Respuesta:

{
"requested": 2,
"deleted": 1,
"not_found": [],
"forbidden": [],
"in_use": ["promo-verano-xyz"]
}

Las listas referenciadas por una campaña se reportan en in_use y no se eliminan. Las demás sí se eliminan, incluso en el mismo request.

Cada lista puede tener un formulario público donde la gente se suscribe sola. Es lo que pones como destino de un anuncio, o lo que pegas en tu sitio.

Ver el estado

GET /v1/bulk/lists/{id}/signup-form

Activar o reconfigurar

PUT /v1/bulk/lists/{id}/signup-form

Body opcional:

CampoTipoDescripción
tagsarrayEtiquetas que se le ponen a quien entre por aquí. Útil para saber de qué anuncio vino cada quien.
redirect_urlstringA dónde mandarlo tras suscribirse. Vacío = nuestra página de gracias.
regeneratebooleanCambia el token del formulario.

La respuesta trae:

CampoDescripción
activoSi el formulario está recibiendo altas.
urlPágina hospedada por nosotros, lista para usar.
snippetHTML listo para pegar en tu propio sitio.
tokenEl identificador público del formulario.
doble_optinSi esta lista exige confirmación.

Apagarlo

DELETE /v1/bulk/lists/{id}/signup-form

Un alta por este formulario dispara las secuencias con list_join, a diferencia de un import masivo. Ver la guía Leads de anuncios — desde el panel.

Doble opt-in (confirmación de suscripción)

Sección titulada «Doble opt-in (confirmación de suscripción)»

Puedes exigir que los contactos confirmen su suscripción antes de recibir campañas de una lista — protege tu reputación de envío y es el estándar (estilo Mailchimp) para dejar constancia de consentimiento explícito.

PUT /v1/bulk/lists/{id}/confirmation

Body:

{
"require_confirmation": true,
"confirm_from_email": "noreply@tuempresa.com",
"confirm_from_name": "Tu Empresa",
"confirm_subject": "Confirma tu suscripción",
"confirm_intro": "Gracias por suscribirte. Confirma tu email para empezar a recibir nuestros correos."
}

confirm_from_email debe pertenecer a un dominio verificado de tu cuenta (misma regla que el from de una campaña). Al activar require_confirmation en una lista con miembros existentes, esos miembros quedan confirmados automáticamente (no se les pide confirmar retroactivamente) — solo los contactos que agregues después pasan por el flujo de confirmación.

Mientras la lista exige confirmación, cada contacto nuevo agregado vía POST /v1/bulk/lists/{id}/contacts recibe automáticamente un correo con un enlace de confirmación de un clic (endpoint público GET /confirm-subscription?token=...). Un contacto que no ha confirmado queda en estado pendiente y se excluye de los envíos de campañas a esa lista hasta que confirme.


Reenviar confirmación a un contacto pendiente

Sección titulada «Reenviar confirmación a un contacto pendiente»
POST /v1/bulk/lists/{id}/contacts/{email}/resend-confirmation

Reenvía el correo de confirmación. Devuelve 400 si la lista no exige confirmación, y 429 si ya reenviaste hace menos de 5 minutos (protección anti mail-bomb).

{ "resent": true }
Ventana de terminal
# 1. Crear la lista
curl -X POST https://api.mailerdash.com/v1/bulk/lists \
-H "Authorization: Bearer $MAILERDASH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Newsletter Q3 2026"}'
# 2. Agregar contactos (usa emails ya registrados como contactos)
curl -X POST https://api.mailerdash.com/v1/bulk/lists/newsletter-q3-2026-abc123/contacts \
-H "Authorization: Bearer $MAILERDASH_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails": ["ana@empresa.com", "pedro@cliente.io"]}'

Para el esquema completo de request/response y códigos de error, consulta la referencia de API bulk.