Aller au contenu
Docs

Gérez les listes d’abonnés utilisées par les campagnes et les formulaires d’inscription.

URL de basehttps://api.emailit.com/v2AuthentificationErreursLimites de débit

Créer une liste de contacts

Crée une liste de contacts vide.

POST/audiences

Nécessite une clé API full. Ajoutez des personnes avec Ajouter un abonné, ou en transmettant l’ID de la liste dans audiences lorsque vous créez un contact. Déclenche l’événement audience.created. Consultez Listes de contacts.

Paramètres du corps

namestringobligatoire
Le nom de la liste, par exemple Newsletter. Doit être unique dans l’espace de travail.
visibilitystringpar défaut : private
public affiche la liste sur la page de gestion des abonnements pour tout le monde ; private, uniquement pour les personnes qui y sont abonnées.
public_namestring | null
Le nom que voient les abonnés dans les e-mails et sur les pages destinées aux destinataires. 120 caractères au maximum. null affiche name.
public_descriptionstring | null
Une ligne affichée sur la page de gestion des abonnements. 500 caractères au maximum.
double_opt_inboolean | object

true ou false, ou un objet contenant tout ou partie de enabled, redirect_url (une URL http(s) vers laquelle les personnes sont redirigées après confirmation, ou null) et email. email accepte from, reply_to, subject, design (default ou custom), heading, body, button_label et footer. Les champs omis conservent leur valeur enregistrée. L’activation nécessite une adresse from sur un domaine d’envoi vérifié. Consultez Double opt-in.

confirmation_emailboolean | object
true ou false, ou un objet avec enabled et email, qui accepte les mêmes champs que ci-dessus, plus button_url.
unengagedobject
exclude (ignorer les abonnés inactifs dans les campagnes) et days (de 30 à 1 825).

Réponse

Renvoie 201 avec la nouvelle liste, y compris ses paramètres, tels que décrits dans Récupérer une liste de contacts :

objectstring
Toujours audience.
idstring
L’ID de la liste.
namestring
Le nom de la liste.
tokenstring
Le jeton figurant dans l’URL d’inscription de la liste. Gardez-le secret.
visibilitystring
public ou private.
created_atstring
Date de création de la liste.
updated_atstring
Date de la dernière modification de la liste.
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"
}

Récupérer une liste de contacts

Récupère une liste de contacts avec ses paramètres, ses compteurs et son jeton public.

GET/audiences/{id}

Nécessite une clé API full.

Paramètres de chemin

idstringobligatoire
L’ID de la liste (aud_…) ou son nom exact, encodé pour l’URL.

Réponse

Renvoie l’objet liste.

objectstring
Toujours audience.
idstring
L’ID de la liste.
namestring
Le nom de la liste.
tokenstring
Le jeton figurant dans l’URL d’inscription de la liste. Gardez-le secret : quiconque le possède peut ajouter des personnes à la liste.
visibilitystring
public ou private. Les listes publiques figurent sur la page de gestion des abonnements pour tout le monde ; les listes privées, uniquement pour les personnes qui y sont abonnées.
public_namestring | null
Le nom que voient les abonnés, ou null pour afficher name.
public_descriptionstring | null
La description affichée sur la page de gestion des abonnements.
double_opt_inobject

enabled, redirect_url (la page où arrivent les personnes après confirmation, ou null) et email, l’e-mail de double opt-in avec from, reply_to, subject, design (default ou custom), heading, body, button_label, footer et source (le MJML d’un design personnalisé, ou null ; absent dans les listes). Les champs que vous n’avez jamais définis contiennent les valeurs par défaut.

confirmation_emailobject

enabled et email, l’e-mail de confirmation, avec les mêmes champs que ci-dessus, plus button_url.

unengagedobject
exclude (indique si les campagnes ignorent les abonnés inactifs) et days (la période, 365 par défaut).
archivedboolean
Indique si la liste est archivée. archived_at contient la date d’archivage, ou null.
subscribers_countinteger
Nombre de contacts dans la liste, désinscrits compris.
usageobject

used (le même nombre), limit (le nombre maximal d’abonnés qu’une liste peut compter sur votre forfait, ou null s’il n’y a pas de limite) et plan. Consultez Limites.

unengaged_countinteger
Nombre de membres abonnés actuellement considérés comme inactifs.
pending_confirmations_countinteger
Nombre de demandes de double opt-in en attente d’un clic, hors demandes expirées.
created_atstring
Date de création de la liste.
updated_atstring
Date de la dernière modification de la liste.
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"
}

Mettre à jour une liste de contacts

Renomme une liste de contacts ou modifie ses paramètres.

POST/audiences/{id}

Nécessite une clé API full. N’envoyez que les champs à modifier. L’ID, le jeton et les abonnés ne changent pas. Déclenche l’événement audience.updated.

Paramètres de chemin

idstringobligatoire
L’ID de la liste ou son nom actuel.

Paramètres du corps

namestring
Le nouveau nom. Doit être unique dans l’espace de travail.
visibilitystring
public affiche la liste sur la page de gestion des abonnements pour tout le monde ; private, uniquement pour les personnes qui y sont abonnées.
public_namestring | null
Le nom que voient les abonnés dans les e-mails et sur les pages destinées aux destinataires. 120 caractères au maximum. null affiche name.
public_descriptionstring | null
Une ligne affichée sur la page de gestion des abonnements. 500 caractères au maximum.
double_opt_inboolean | object

true ou false, ou un objet contenant tout ou partie de enabled, redirect_url (une URL http(s) vers laquelle les personnes sont redirigées après confirmation, ou null) et email. email accepte from, reply_to, subject, design (default ou custom), heading, body, button_label et footer. Les champs omis conservent leur valeur enregistrée. L’activation nécessite une adresse from sur un domaine d’envoi vérifié. Consultez Double opt-in.

confirmation_emailboolean | object
true ou false, ou un objet avec enabled et email, qui accepte les mêmes champs que ci-dessus, plus button_url.
unengagedobject
exclude (ignorer les abonnés inactifs dans les campagnes) et days (de 30 à 1 825).
archivedboolean
true archive la liste, false la désarchive. Consultez Archiver une liste.

Définir un design MJML personnalisé avec email.source fait partie de l’alpha MJML et renvoie 403 avec error: "mjml_alpha" pour les clés API.

Réponse

Renvoie la liste avec ses paramètres, comme Récupérer une liste de contacts. Dans cette réponse, subscribers_count vaut toujours 0 et les compteurs sont omis ; utilisez Récupérer une liste de contacts pour les obtenir. Des paramètres non valides renvoient 422 avec un objet errors indexé par champ, par exemple 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"
}

Lister les listes de contacts

Renvoie une page de listes de contacts, de la plus récente à la plus ancienne. Les listes archivées sont exclues, sauf si vous les demandez.

GET/audiences

Nécessite une clé API full. Les éléments de la liste n’incluent pas le token de la liste de contacts ; utilisez Récupérer une liste de contacts pour l’obtenir.

Paramètres de requête

pageintegerpar défaut : 1
La page à renvoyer.
limitintegerpar défaut : 10
Nombre de listes par page, de 1 à 100.
archivedstringpar défaut : false
false pour les listes actives, true pour les listes archivées uniquement, all pour les deux.
visibilitystring
public ou private pour ne lister que ces listes.
matchstringpar défaut : all
all ou or. Mode de combinaison des filtres ci-dessous.
orderstring
name, public_name, visibility, subscribers_count ou created_at.
directionstring
asc ou desc.

Filtres

Ajoutez des filtres sous la forme key.condition=value, par exemple name.contains=news. Consultez Filtrage et tri.

Clé Type
name chaîne
public_name chaîne
visibility enum : public, private
subscribers_count nombre
created_at date

Réponse

dataobject[]
Les listes de cette page, chacune avec object, id, name, les paramètres (visibility, public_name, public_description, double_opt_in, confirmation_email, unengaged, archived, archived_at), subscribers_count, usage, created_at et updated_at. Consultez Récupérer une liste de contacts. Dans les listes, les objets email omettent source.
total_recordsinteger
Le nombre de listes correspondant à la recherche, aux filtres et à archived.
next_page_urlstring | null
Chemin de la page suivante, ou null. Consultez Pagination.
previous_page_urlstring | null
Chemin de la page précédente, ou 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
}

Fusionner des listes de contacts

Copie les abonnés d’autres listes dans celle-ci.

POST/audiences/{id}/merge

Nécessite une clé API full. Les personnes qui figurent déjà dans la liste cible y conservent leur statut : aucune personne désinscrite n’est donc réinscrite. Une personne présente dans plusieurs des listes fusionnées rejoint la liste cible avec Subscribed activé si au moins l’une de ces listes la compte comme abonnée. Avec delete_sources, les listes fusionnées sont ensuite supprimées et les campagnes dont l’envoi n’est pas terminé (brouillons, campagnes programmées, en file d’attente ou en cours d’envoi, et tests A/B en attente de leur version gagnante) sont envoyées à la liste cible à la place. Si une telle campagne incluait une liste fusionnée et en excluait une autre, la liste cible reste incluse. Les segments qui puisent dans une liste supprimée ou qui ont une règle portant sur elle utilisent la liste cible à la place, tout comme les déclencheurs, étapes, conditions et conditions de sortie d’automatisation qui la désignent. C’est aussi le cas des formulaires qui y ajoutent des personnes ou la proposent comme choix, des liens de double opt-in qui n’ont pas encore été confirmés et des exécutions d’automatisation qui attendent une condition portant sur elle. Chaque suppression déclenche audience.deleted.

La fusion ne déclenche pas d’événements subscriber.*, ne démarre pas d’automatisations et n’envoie pas d’e-mails de double opt-in ni de confirmation. Si les nouveaux abonnés faisaient dépasser à la liste cible la limite d’abonnés de votre forfait, rien n’est fusionné et la requête renvoie 422 avec votre usage. Des données non valides, comme la fusion d’une liste avec elle-même, renvoient aussi 422. Consultez Fusionner des listes.

Paramètres de chemin

idstringobligatoire
La liste dans laquelle fusionner, par son ID ou son nom.

Paramètres du corps

source_idsstring[]obligatoire
ID des listes à fusionner, de 1 à 50. Ne peut pas inclure la liste cible.
delete_sourcesbooleanpar défaut : false
Supprime les listes fusionnées après la copie de leurs abonnés.

Réponse

objectstring
Toujours audience_merge.
audienceobject
La liste cible : object, id, name et son nouveau subscribers_count.
addedinteger
Nombre de personnes qui ont rejoint la liste cible.
already_in_audienceinteger
Nombre de personnes des listes fusionnées qui figuraient déjà dans la liste cible et y ont conservé leur statut.
deleted_source_idsstring[]
Les listes supprimées, ou un tableau vide.
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"]
}

Mettre à jour des listes de contacts en masse

Archive, désarchive ou supprime plusieurs listes de contacts à la fois.

POST/audiences/bulk

Nécessite une clé API full. Chaque ID doit correspondre à une liste de l’espace de travail ; sinon, rien n’est modifié et la requête renvoie 404 avec les ID manquants dans missing. L’archivage et le désarchivage déclenchent audience.updated ; la suppression déclenche audience.deleted et supprime les abonnés des listes, comme Supprimer une liste de contacts. Consultez Archiver une liste.

Paramètres du corps

actionstringobligatoire
archive, unarchive ou delete.
idsstring[]obligatoire
ID de listes, de 1 à 100.

Réponse

objectstring
Toujours audience_bulk.
actionstring
L’action envoyée.
processedinteger
Nombre de listes trouvées.
changedinteger
Nombre de listes réellement modifiées. L’archivage d’une liste déjà archivée n’est pas compté.
idsstring[]
Les ID envoyés.
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"]
}

Supprimer une liste de contacts

Supprime définitivement une liste de contacts et en retire tout le monde.

DELETE/audiences/{id}

Nécessite une clé API full. Les inscriptions d’abonnés de la liste sont supprimées avec elle, mais les contacts restent dans votre espace de travail et dans leurs autres listes. Son URL d’inscription hébergée cesse de fonctionner. Déclenche l’événement audience.deleted. Aucun événement subscriber.deleted n’est envoyé pour les inscriptions supprimées.

Paramètres de chemin

idstringobligatoire
L’ID de la liste ou son nom.

Réponse

objectstring
Toujours audience.
idstring
L’ID de la liste supprimée.
namestring
Le nom de la liste.
deletedboolean
Toujours 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
}

Cette page vous a-t-elle été utile ?

Merci pour votre retour.

Merci, nous lisons chaque message.