Saltar al contenido
Docs

Gestiona las listas de suscriptores que usan las campañas y los formularios de suscripción.

URL basehttps://api.emailit.com/v2AutenticaciónErroresLímites de velocidad

Crear una lista de contactos

Crea una lista de contactos vacía.

POST/audiences

Requiere una clave de API full. Añade personas con Añadir un suscriptor o pasando el ID de la lista en audiences al crear un contacto. Dispara un evento audience.created. Consulta Listas de contactos.

Parámetros del cuerpo

namestringobligatorio
El nombre de la lista, como Newsletter. Debe ser único en el espacio de trabajo.
visibilitystringpor defecto: private
public muestra la lista a todo el mundo en la página de gestión de suscripciones; private, solo a las personas suscritas a ella.
public_namestring | null
El nombre que ven los suscriptores en los emails y en las páginas para destinatarios. Hasta 120 caracteres. Con null se muestra name.
public_descriptionstring | null
Una línea que se muestra en la página de gestión de suscripciones. Hasta 500 caracteres.
double_opt_inboolean | object

true o false, o un objeto con cualquiera de estos campos: enabled, redirect_url (una URL http(s) a la que van las personas después de confirmar, o null) y email. email acepta from, reply_to, subject, design (default o custom), heading, body, button_label y footer. Los campos que omites conservan su valor guardado. Para activarlo hace falta una dirección from de un dominio de envío verificado. Consulta Doble opt-in.

confirmation_emailboolean | object
true o false, o un objeto con enabled y email, que acepta los mismos campos que el anterior más button_url.
unengagedobject
exclude (omitir a los suscriptores sin interacción en las campañas) y days (de 30 a 1825).

Devuelve

Devuelve 201 con la nueva lista, incluida su configuración, como se describe en Obtener una lista de contactos:

objectstring
Siempre audience.
idstring
El ID de la lista.
namestring
El nombre de la lista.
tokenstring
El token de la URL de suscripción de la lista. Mantenlo en secreto.
visibilitystring
public o private.
created_atstring
Cuándo se creó la lista.
updated_atstring
Cuándo se modificó la lista por última vez.
POST/audiences
Terminal
curl -X POST https://api.emailit.com/v2/audiences \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Newsletter"}'
JSON
{
  "object": "audience",
  "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "name": "Newsletter",
  "token": "4KXUJdXRVlVgbkWQm4GHLy8BleP",
  "visibility": "private",
  "public_name": null,
  "public_description": null,
  "double_opt_in": {
    "enabled": false,
    "redirect_url": null,
    "email": {
      "from": null,
      "reply_to": null,
      "subject": "Confirm your subscription to {{audience_name}}",
      "design": "default",
      "heading": "Please confirm your subscription",
      "body": "Hi {{first_name|\"there\"}},\n\nYou asked to join {{audience_name}}. Confirm your email address to start getting our emails.",
      "button_label": "Confirm subscription",
      "footer": "Button not working? Open this link: <a href=\"{{confirm_url}}\">{{confirm_url}}</a>\n\nIf you did not ask to subscribe, ignore this email. You will not be added unless you confirm.",
      "source": null
    }
  },
  "confirmation_email": {
    "enabled": false,
    "email": {
      "from": null,
      "reply_to": null,
      "subject": "You're subscribed to {{audience_name}}",
      "design": "default",
      "heading": "You're subscribed",
      "body": "Hi {{first_name|\"there\"}},\n\nThanks for joining {{audience_name}}. You will hear from us soon.",
      "button_label": "",
      "button_url": "",
      "footer": "You are getting this email because you subscribed to {{audience_name}}. <a href=\"{{manage_subscriptions_url}}\">Manage subscriptions</a>",
      "source": null
    }
  },
  "unengaged": { "exclude": false, "days": 365 },
  "archived": false,
  "archived_at": null,
  "subscribers_count": 0,
  "created_at": "2026-10-01T10:02:44.613207Z",
  "updated_at": "2026-10-01T10:02:44.613207Z"
}

Obtener una lista de contactos

Obtiene una lista de contactos con su configuración, sus recuentos y su token público.

GET/audiences/{id}

Requiere una clave de API full.

Parámetros de ruta

idstringobligatorio
El ID de la lista (aud_…) o su nombre exacto, codificado para URL.

Devuelve

Devuelve el objeto de lista de contactos.

objectstring
Siempre audience.
idstring
El ID de la lista.
namestring
El nombre de la lista.
tokenstring
El token de la URL de suscripción de la lista. Mantenlo en secreto: cualquiera que lo tenga puede añadir personas a la lista.
visibilitystring
public o private. Las listas públicas aparecen para todo el mundo en la página de gestión de suscripciones; las privadas, solo para las personas suscritas a ellas.
public_namestring | null
El nombre que ven los suscriptores, o null para mostrar name.
public_descriptionstring | null
La descripción que se muestra en la página de gestión de suscripciones.
double_opt_inobject

enabled, redirect_url (adónde van las personas después de confirmar, o null) y email, el email de doble opt-in, con from, reply_to, subject, design (default o custom), heading, body, button_label, footer y source (el MJML de un diseño personalizado, o null; los listados lo omiten). Los campos que nunca has configurado contienen los valores por defecto.

confirmation_emailobject

enabled y email, el email de confirmación, con los mismos campos que el anterior más button_url.

unengagedobject
exclude (si las campañas omiten a los suscriptores sin interacción) y days (el periodo, 365 por defecto).
archivedboolean
Si la lista está archivada. archived_at contiene la fecha y hora, o null.
subscribers_countinteger
Cuántos contactos hay en la lista, incluidos los dados de baja.
usageobject

used (el mismo número), limit (el número máximo de suscriptores que puede tener una lista en tu plan, o null si no hay límite) y plan. Consulta Límites.

unengaged_countinteger
Cuántos miembros suscritos se consideran sin interacción en este momento.
pending_confirmations_countinteger
Cuántas solicitudes de doble opt-in están esperando un clic, sin contar las caducadas.
created_atstring
Cuándo se creó la lista.
updated_atstring
Cuándo se modificó la lista por última vez.
GET/audiences/{id}
Terminal
curl https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2 \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "audience",
  "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "name": "Newsletter",
  "visibility": "public",
  "public_name": "Monthly newsletter",
  "public_description": "Product news and tips, once a month.",
  "double_opt_in": {
    "enabled": true,
    "redirect_url": null,
    "email": {
      "from": "News <news@example.com>",
      "reply_to": null,
      "subject": "Confirm your subscription to {{audience_name}}",
      "design": "default",
      "heading": "Please confirm your subscription",
      "body": "Hi {{first_name|\"there\"}},\n\nYou asked to join {{audience_name}}. Confirm your email address to start getting our emails.",
      "button_label": "Confirm subscription",
      "footer": "Button not working? Open this link: <a href=\"{{confirm_url}}\">{{confirm_url}}</a>\n\nIf you did not ask to subscribe, ignore this email. You will not be added unless you confirm.",
      "source": null
    }
  },
  "confirmation_email": {
    "enabled": false,
    "email": {
      "from": null,
      "reply_to": null,
      "subject": "You're subscribed to {{audience_name}}",
      "design": "default",
      "heading": "You're subscribed",
      "body": "Hi {{first_name|\"there\"}},\n\nThanks for joining {{audience_name}}. You will hear from us soon.",
      "button_label": "",
      "footer": "You are getting this email because you subscribed to {{audience_name}}. <a href=\"{{manage_subscriptions_url}}\">Manage subscriptions</a>",
      "button_url": "",
      "source": null
    }
  },
  "unengaged": { "exclude": true, "days": 365 },
  "archived": false,
  "archived_at": null,
  "token": "4KXUJdXRVlVgbkWQm4GHLy8BleP",
  "subscribers_count": 1284,
  "unengaged_count": 212,
  "pending_confirmations_count": 3,
  "usage": {
    "used": 1284,
    "limit": 50000,
    "plan": "pro"
  },
  "created_at": "2026-10-01T10:02:44.000000Z",
  "updated_at": "2026-10-01T10:02:44.000000Z"
}

Actualizar una lista de contactos

Cambia el nombre de una lista de contactos o su configuración.

POST/audiences/{id}

Requiere una clave de API full. Envía solo los campos que quieras cambiar. El ID, el token y los suscriptores no cambian. Dispara un evento audience.updated.

Parámetros de ruta

idstringobligatorio
El ID de la lista o su nombre actual.

Parámetros del cuerpo

namestring
El nuevo nombre. Debe ser único en el espacio de trabajo.
visibilitystring
public muestra la lista a todo el mundo en la página de gestión de suscripciones; private, solo a las personas suscritas a ella.
public_namestring | null
El nombre que ven los suscriptores en los emails y en las páginas para destinatarios. Hasta 120 caracteres. Con null se muestra name.
public_descriptionstring | null
Una línea que se muestra en la página de gestión de suscripciones. Hasta 500 caracteres.
double_opt_inboolean | object

true o false, o un objeto con cualquiera de estos campos: enabled, redirect_url (una URL http(s) a la que van las personas después de confirmar, o null) y email. email acepta from, reply_to, subject, design (default o custom), heading, body, button_label y footer. Los campos que omites conservan su valor guardado. Para activarlo hace falta una dirección from de un dominio de envío verificado. Consulta Doble opt-in.

confirmation_emailboolean | object
true o false, o un objeto con enabled y email, que acepta los mismos campos que el anterior más button_url.
unengagedobject
exclude (omitir a los suscriptores sin interacción en las campañas) y days (de 30 a 1825).
archivedboolean
true archiva la lista y false la desarchiva. Consulta Archivar una lista de contactos.

Configurar un diseño MJML personalizado con email.source forma parte de la fase alfa de MJML y devuelve 403 con error: "mjml_alpha" para las claves de API.

Devuelve

Devuelve la lista con su configuración, como en Obtener una lista de contactos. En esta respuesta, subscribers_count siempre es 0 y no se incluyen los recuentos; para obtenerlos, usa Obtener una lista de contactos. Una configuración no válida devuelve 422 con un objeto errors indexado por campo, como double_opt_in.email.from.

POST/audiences/{id}
Terminal
curl -X POST https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2 \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Weekly newsletter"}'
JSON
{
  "object": "audience",
  "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
  "name": "Weekly newsletter",
  "token": "4KXUJdXRVlVgbkWQm4GHLy8BleP",
  "visibility": "public",
  "public_name": "Weekly newsletter",
  "public_description": null,
  "double_opt_in": {
    "enabled": true,
    "redirect_url": null,
    "email": {
      "from": "News <news@example.com>",
      "reply_to": null,
      "subject": "Confirm your subscription to {{audience_name}}",
      "design": "default",
      "heading": "Please confirm your subscription",
      "body": "Hi {{first_name|\"there\"}},\n\nYou asked to join {{audience_name}}. Confirm your email address to start getting our emails.",
      "button_label": "Confirm subscription",
      "footer": "Button not working? Open this link: <a href=\"{{confirm_url}}\">{{confirm_url}}</a>\n\nIf you did not ask to subscribe, ignore this email. You will not be added unless you confirm.",
      "source": null
    }
  },
  "confirmation_email": {
    "enabled": false,
    "email": {
      "from": null,
      "reply_to": null,
      "subject": "You're subscribed to {{audience_name}}",
      "design": "default",
      "heading": "You're subscribed",
      "body": "Hi {{first_name|\"there\"}},\n\nThanks for joining {{audience_name}}. You will hear from us soon.",
      "button_label": "",
      "button_url": "",
      "footer": "You are getting this email because you subscribed to {{audience_name}}. <a href=\"{{manage_subscriptions_url}}\">Manage subscriptions</a>",
      "source": null
    }
  },
  "unengaged": {
    "exclude": false,
    "days": 365
  },
  "archived": false,
  "archived_at": null,
  "subscribers_count": 0,
  "created_at": "2026-10-01T10:02:44.000000Z",
  "updated_at": "2026-10-01T14:31:09.000000Z"
}

Listar listas de contactos

Devuelve una página de listas de contactos, de la más reciente a la más antigua. Las listas archivadas se omiten, salvo que las pidas.

GET/audiences

Requiere una clave de API full. Los elementos del listado no incluyen el token de la lista; para obtenerlo, usa Obtener una lista de contactos.

Parámetros de consulta

pageintegerpor defecto: 1
La página que se devuelve.
limitintegerpor defecto: 10
Listas por página, de 1 a 100.
archivedstringpor defecto: false
false para las listas activas, true solo para las archivadas y all para ambas.
visibilitystring
public o private para listar solo esas.
matchstringpor defecto: all
all u or. Cómo se combinan los filtros de abajo.
orderstring
name, public_name, visibility, subscribers_count o created_at.
directionstring
asc o desc.

Filtros

Añade filtros con el formato key.condition=value, por ejemplo name.contains=news. Consulta Filtrado.

Clave Tipo
name cadena
public_name cadena
visibility enumeración: public, private
subscribers_count número
created_at fecha

Devuelve

dataobject[]
Las listas de esta página, cada una con object, id, name, la configuración (visibility, public_name, public_description, double_opt_in, confirmation_email, unengaged, archived, archived_at), subscribers_count, usage, created_at y updated_at. Consulta Obtener una lista de contactos. En los listados, los objetos email omiten source.
total_recordsinteger
El número de listas que coinciden con la búsqueda, los filtros y archived.
next_page_urlstring | null
La ruta de la página siguiente, o null. Consulta Paginación.
previous_page_urlstring | null
La ruta de la página anterior, o null.
GET/audiences
Terminal
curl https://api.emailit.com/v2/audiences \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "data": [
    {
      "object": "audience",
      "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
      "name": "Newsletter",
      "visibility": "public",
      "public_name": "Monthly newsletter",
      "public_description": "Product news and tips, once a month.",
      "double_opt_in": {
        "enabled": true,
        "redirect_url": null,
        "email": {
          "from": "News <news@example.com>",
          "reply_to": null,
          "subject": "Confirm your subscription to {{audience_name}}",
          "design": "default",
          "heading": "Please confirm your subscription",
          "body": "Hi {{first_name|\"there\"}},\n\nYou asked to join {{audience_name}}. Confirm your email address to start getting our emails.",
          "button_label": "Confirm subscription",
          "footer": "Button not working? Open this link: <a href=\"{{confirm_url}}\">{{confirm_url}}</a>\n\nIf you did not ask to subscribe, ignore this email. You will not be added unless you confirm."
        }
      },
      "confirmation_email": {
        "enabled": false,
        "email": {
          "from": "News <news@example.com>",
          "reply_to": null,
          "subject": "You're subscribed to {{audience_name}}",
          "design": "default",
          "heading": "You're subscribed",
          "body": "Hi {{first_name|\"there\"}},\n\nThanks for joining {{audience_name}}. You will hear from us soon.",
          "button_label": "",
          "footer": "You are getting this email because you subscribed to {{audience_name}}. <a href=\"{{manage_subscriptions_url}}\">Manage subscriptions</a>",
          "button_url": ""
        }
      },
      "unengaged": {
        "exclude": false,
        "days": 365
      },
      "archived": false,
      "archived_at": null,
      "subscribers_count": 1284,
      "usage": {
        "used": 1284,
        "limit": 50000,
        "plan": "pro"
      },
      "created_at": "2026-10-01T10:02:44.000000Z",
      "updated_at": "2026-10-01T10:02:44.000000Z"
    },
    {
      "object": "audience",
      "id": "aud_4KOlh9t2uw5od4qypqCtyrZyDq2",
      "name": "Customers",
      "visibility": "private",
      "public_name": null,
      "public_description": null,
      "double_opt_in": {
        "enabled": false,
        "redirect_url": null,
        "email": {
          "from": null,
          "reply_to": null,
          "subject": "Confirm your subscription to {{audience_name}}",
          "design": "default",
          "heading": "Please confirm your subscription",
          "body": "Hi {{first_name|\"there\"}},\n\nYou asked to join {{audience_name}}. Confirm your email address to start getting our emails.",
          "button_label": "Confirm subscription",
          "footer": "Button not working? Open this link: <a href=\"{{confirm_url}}\">{{confirm_url}}</a>\n\nIf you did not ask to subscribe, ignore this email. You will not be added unless you confirm."
        }
      },
      "confirmation_email": {
        "enabled": false,
        "email": {
          "from": null,
          "reply_to": null,
          "subject": "You're subscribed to {{audience_name}}",
          "design": "default",
          "heading": "You're subscribed",
          "body": "Hi {{first_name|\"there\"}},\n\nThanks for joining {{audience_name}}. You will hear from us soon.",
          "button_label": "",
          "footer": "You are getting this email because you subscribed to {{audience_name}}. <a href=\"{{manage_subscriptions_url}}\">Manage subscriptions</a>",
          "button_url": ""
        }
      },
      "unengaged": {
        "exclude": false,
        "days": 365
      },
      "archived": false,
      "archived_at": null,
      "subscribers_count": 312,
      "usage": {
        "used": 312,
        "limit": 50000,
        "plan": "pro"
      },
      "created_at": "2026-09-20T16:45:10.000000Z",
      "updated_at": "2026-09-20T16:45:10.000000Z"
    }
  ],
  "total_records": 2,
  "next_page_url": null,
  "previous_page_url": null
}

Fusionar listas de contactos

Copia los suscriptores de otras listas de contactos en esta.

POST/audiences/{id}/merge

Requiere una clave de API full. Las personas que ya están en la lista de destino conservan su estado en ella, así que nadie que se haya dado de baja se vuelve a suscribir. Una persona que está en varias de las listas fusionadas se une con Subscribed activado si al menos una de ellas la tiene suscrita. Con delete_sources, las listas fusionadas se eliminan después, y las campañas que todavía no han terminado de enviarse (borradores, campañas programadas, en cola y en proceso de envío, y pruebas A/B que esperan su versión ganadora) pasan a enviarse a la lista de destino. Si una de esas campañas incluía una lista fusionada y excluía otra, la lista de destino sigue incluida. Los segmentos que tienen como origen una lista eliminada, o una regla sobre ella, pasan a usar la lista de destino, y lo mismo ocurre con los disparadores, los pasos, las condiciones y las condiciones de salida de las automatizaciones que la mencionan. También ocurre con los formularios que añaden personas a ella o la ofrecen como opción, con los enlaces de doble opt-in que todavía no se han confirmado y con las ejecuciones de automatizaciones que esperan una condición sobre ella. Cada eliminación dispara audience.deleted.

La fusión no dispara eventos subscriber.*, no inicia automatizaciones y no envía emails de doble opt-in ni de confirmación. Si los nuevos suscriptores hicieran que la lista de destino superase el límite de suscriptores de tu plan, no se fusiona nada y la petición devuelve 422 con tu usage. Una entrada no válida, como fusionar una lista consigo misma, también devuelve 422. Consulta Fusionar listas de contactos.

Parámetros de ruta

idstringobligatorio
La lista en la que se fusionan las demás, por su ID o su nombre.

Parámetros del cuerpo

source_idsstring[]obligatorio
Los ID de las listas que se fusionan, de 1 a 50. No pueden incluir la lista de destino.
delete_sourcesbooleanpor defecto: false
Elimina las listas fusionadas después de copiar sus suscriptores.

Devuelve

objectstring
Siempre audience_merge.
audienceobject
La lista de destino: object, id, name y su nuevo subscribers_count.
addedinteger
Cuántas personas se unieron a la lista de destino.
already_in_audienceinteger
Cuántas personas de las listas fusionadas ya estaban en la lista de destino y conservaron su estado.
deleted_source_idsstring[]
Las listas que se eliminaron, o un array vacío.
POST/audiences/{id}/merge
Terminal
curl -X POST https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/merge \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"source_ids": ["aud_4KOlh9t2uw5od4qypqCtyrZyDq2"], "delete_sources": true}'
JSON
{
  "object": "audience_merge",
  "audience": {
    "object": "audience",
    "id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
    "name": "Newsletter",
    "subscribers_count": 1503
  },
  "added": 219,
  "already_in_audience": 93,
  "deleted_source_ids": ["aud_4KOlh9t2uw5od4qypqCtyrZyDq2"]
}

Actualizar listas de contactos de forma masiva

Archiva, desarchiva o elimina varias listas de contactos a la vez.

POST/audiences/bulk

Requiere una clave de API full. Todos los ID deben pertenecer al espacio de trabajo; si no, no se cambia nada y la petición devuelve 404 con los ID que faltan en missing. Archivar y desarchivar disparan audience.updated; eliminar dispara audience.deleted y elimina los suscriptores de las listas, como Eliminar una lista de contactos. Consulta Archivar una lista de contactos.

Parámetros del cuerpo

actionstringobligatorio
archive, unarchive o delete.
idsstring[]obligatorio
Los ID de las listas, de 1 a 100.

Devuelve

objectstring
Siempre audience_bulk.
actionstring
La acción que enviaste.
processedinteger
Cuántas listas se encontraron.
changedinteger
Cuántas cambiaron realmente. Archivar una lista que ya está archivada no cuenta.
idsstring[]
Los ID que enviaste.
POST/audiences/bulk
Terminal
curl -X POST https://api.emailit.com/v2/audiences/bulk \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action": "archive", "ids": ["aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "aud_4KOlh9t2uw5od4qypqCtyrZyDq2"]}'
JSON
{
  "object": "audience_bulk",
  "action": "archive",
  "processed": 2,
  "changed": 2,
  "ids": ["aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2", "aud_4KOlh9t2uw5od4qypqCtyrZyDq2"]
}

Eliminar una lista de contactos

Elimina de forma permanente una lista de contactos y quita de ella a todos sus suscriptores.

DELETE/audiences/{id}

Requiere una clave de API full. Las pertenencias de los suscriptores a la lista se eliminan con ella, pero los contactos siguen en tu espacio de trabajo y en sus otras listas. Su URL de suscripción alojada deja de funcionar. Dispara un evento audience.deleted. No se envían eventos subscriber.deleted por las pertenencias eliminadas.

Parámetros de ruta

idstringobligatorio
El ID o el nombre de la lista.

Devuelve

objectstring
Siempre audience.
idstring
El ID de la lista eliminada.
namestring
El nombre de la lista.
deletedboolean
Siempre true.
DELETE/audiences/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/audiences/aud_4KOlh9t2uw5od4qypqCtyrZyDq2 \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{
  "object": "audience",
  "id": "aud_4KOlh9t2uw5od4qypqCtyrZyDq2",
  "name": "Customers",
  "deleted": true
}

¿Te ha resultado útil esta página?

Gracias por tu opinión.

Gracias. Leemos todos los mensajes.