Adresses bloquées
Consultez et gérez les adresses auxquelles Emailit n’enverra pas d’e-mails.
Créer un blocage
Ajoute une adresse à la liste d’adresses bloquées de votre espace de travail. Les e-mails API et SMTP destinés à une adresse faisant l’objet d’un blocage recipient reçoivent le statut suppressed au lieu d’être envoyés, et les campagnes ignorent les adresses bloquées. Nécessite une clé API de portée full.
/suppressionsCorps de la requête
emailstringObligatoireAdresse à bloquer. Emailit l’enregistre en minuscules.
typestringType de blocage. Par défaut : recipient. Emailit utilise recipient, bounce, complaint et unsubscribe.
Seuls les blocages recipient arrêtent les e-mails envoyés via l’API et SMTP. Les campagnes ignorent toute adresse faisant l’objet d’un blocage actif, quel qu’en soit le type. Une adresse peut avoir un blocage par type.
reasonstringNote en texte libre, par exemple manual ou Asked to stop receiving invoices.
keep_untilstring | number | nullDate d’expiration du blocage. Accepte un horodatage ISO 8601 (2026-12-31T00:00:00Z), un horodatage Unix en secondes (1798675200) ou une expression en langage naturel comme in 30 days ou tomorrow at 9am. Omettez-le ou envoyez null pour un blocage permanent.
Passé cette date, le blocage n’empêche plus les envois. Il reste dans la liste jusqu’à ce que vous le supprimiez.
Réponse
Renvoie 201 Created avec l’objet blocage. Emailit envoie aussi l’événement webhook suppression.created.
| Statut | Cas |
|---|---|
400 |
email n’est pas une adresse valide ou keep_until ne peut pas être analysé (le corps contient une chaîne error), ou email est absent (erreur de validation standard). |
409 |
L’adresse fait déjà l’objet d’un blocage de ce type. Le corps inclut le blocage existant dans existing. |
{
"object": "suppression",
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"type": "recipient",
"email": "ada@example.com",
"reason": "manual",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
}{
"error": "Invalid keep_until format. Accepts ISO 8601, Unix timestamp, or natural language like \"tomorrow at 9am\"."
}{
"error": "Suppression already exists for this email and type",
"existing": {
"object": "suppression",
"id": "sup_2xKz0Pq5Rm8Nw2Tb7YdLc4HsE1a",
"type": "recipient",
"email": "ada@example.com",
"reason": "too many bounces",
"created_at": "2026-09-12T16:04:51.207000+00:00",
"keep_until": null
}
}Récupérer un blocage
Renvoie un blocage, recherché par ID ou par adresse e-mail. Nécessite une clé API de portée full.
/suppressions/:idParamètres de chemin
idstringObligatoireID du blocage (sup_…) ou adresse bloquée. Encodez l’adresse pour l’URL, par exemple ada%40example.com.
Une adresse peut avoir un blocage par type. Lorsque vous recherchez par adresse, Emailit renvoie l’un d’eux ; utilisez l’ID pour cibler un type précis.
Réponse
Renvoie 200 OK avec l’objet blocage. Un blocage dont la date keep_until est passée n’empêche plus l’envoi.
Renvoie 400 si id n’est ni un ID sup_ ni une adresse e-mail valide, et 404 si aucun blocage ne correspond.
{
"object": "suppression",
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"type": "recipient",
"email": "ada@example.com",
"reason": "too many bounces",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
}{
"error": "Invalid identifier. Must be a suppression ID (sup_xxx) or valid email address."
}{
"error": "Suppression not found"
}Mettre à jour un blocage
Met à jour un blocage. N’envoyez que les champs à modifier ; au moins un est obligatoire. Nécessite une clé API de portée full.
/suppressions/:idParamètres de chemin
idstringObligatoireID du blocage (sup_…) ou adresse bloquée, encodée pour l’URL (ada%40example.com). Lorsqu’une adresse fait l’objet de blocages de plusieurs types, utilisez l’ID.
Corps de la requête
emailstringNouvelle adresse. Enregistrée en minuscules.
typestringNouveau type : recipient, bounce, complaint ou unsubscribe. Seuls les blocages recipient arrêtent les envois via l’API et SMTP.
reasonstringNouveau motif, en texte libre.
keep_untilstring | number | nullNouvelle date d’expiration, dans les mêmes formats qu’à la création : ISO 8601, horodatage Unix en secondes ou langage naturel comme in 30 days. Envoyez null pour rendre le blocage permanent.
Réponse
Renvoie 200 OK avec le blocage mis à jour. Emailit envoie aussi l’événement webhook suppression.updated.
| Statut | Cas |
|---|---|
400 |
Le corps ne contient aucun des champs ci-dessus, email n’est pas valide ou keep_until ne peut pas être analysé. |
404 |
Aucun blocage ne correspond à id. |
409 |
Un autre blocage existe déjà pour la nouvelle adresse et le nouveau type. |
{
"object": "suppression",
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"type": "recipient",
"email": "ada@example.com",
"reason": "Asked to pause invoices until January",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": "2027-01-01T00:00:00.000000+00:00"
}{
"error": "No valid fields provided for update. Provide at least one of: email, type, reason, keep_until"
}{
"error": "Suppression not found"
}{
"error": "Another suppression already exists for this email and type combination"
}Lister les blocages
Renvoie les blocages de votre espace de travail, du plus récent au plus ancien. La liste inclut les blocages qu’Emailit ajoute automatiquement après des rebonds et des plaintes, ainsi que les blocages expirés dont la date keep_until est passée. Nécessite une clé API de portée full.
/suppressionsParamètres de requête
pageintegerNuméro de page, à partir de 1. Par défaut : 1.
limitintegerNombre de blocages par page, de 1 à 100. Par défaut : 10.
searchstringRecherche insensible à la casse sur l’adresse ou le motif. q fonctionne comme alias.
matchstringall (par défaut) exige que tous les filtres key.condition correspondent. or accepte n’importe lequel d’entre eux. Consultez Filtrage et tri.
sortstringClé de tri : email, reason, type ou created_at (par défaut).
orderstringSens du tri : asc ou desc (par défaut).
Filtres
Les filtres de liste sont des paramètres de requête key.condition=value sur un seul niveau. Consultez Filtrage et tri pour match, order, direction et la liste des conditions par type.
Clés de filtre
| Clé | Type | Conditions | Remarques |
|---|---|---|---|
email | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
reason | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
type | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
created_at | date | exact, before, after, empty, not_empty | |
keep_until | date | exact, before, after, empty, not_empty |
Clés de tri
Cet endpoint trie avec sort défini sur l’une de ces clés et order sur asc ou desc (order=<key> renvoie 400 ici) : email, reason, type, created_at, keep_until
Sur cet endpoint, order n’accepte que asc ou desc. Transmettez la clé de tri dans sort, par exemple sort=email&order=asc.
Réponse
Renvoie 200 OK avec les blocages dans data, ainsi que next_page_url et previous_page_url (null lorsqu’il n’y a pas de page suivante ou précédente). Les URL de page conservent votre recherche, vos filtres et votre tri.
{
"data": [
{
"object": "suppression",
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"type": "recipient",
"email": "ada@example.com",
"reason": "too many bounces",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
},
{
"object": "suppression",
"id": "sup_2xKz0Pq5Rm8Nw2Tb7YdLc4HsE1a",
"type": "complaint",
"email": "grace@example.com",
"reason": "complaint",
"created_at": "2026-09-28T13:17:40.912000+00:00",
"keep_until": null
}
],
"next_page_url": "/v2/suppressions?limit=10&page=2",
"previous_page_url": null
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Invalid API key"
}Supprimer un blocage
Supprime un blocage pour que l’adresse puisse de nouveau recevoir des e-mails. Nécessite une clé API de portée full.
/suppressions/:idParamètres de chemin
idstringObligatoireID du blocage (sup_…) ou adresse bloquée, encodée pour l’URL (ada%40example.com).
Une requête par adresse supprime un seul blocage. Si l’adresse fait l’objet de blocages de plusieurs types, supprimez chacun par son ID, ou répétez la requête jusqu’à ce qu’elle renvoie 404.
Réponse
Renvoie 200 OK avec l’id et l’email du blocage supprimé, et deleted: true. Emailit envoie aussi l’événement webhook suppression.deleted.
Renvoie 400 si id n’est ni un ID sup_ ni une adresse e-mail valide, et 404 si aucun blocage ne correspond.
{
"object": "suppression",
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"email": "ada@example.com",
"deleted": true
}{
"error": "Invalid identifier. Must be a suppression ID (sup_xxx) or valid email address."
}{
"error": "Suppression not found"
}