Supressões
Consulte e gerencie os endereços para os quais o Emailit não envia e-mails.
Criar uma supressão
Adiciona um endereço à lista de supressão do seu workspace. Os e-mails de API e SMTP para um endereço com uma supressão recipient recebem o status suppressed em vez de serem enviados, e as campanhas ignoram os endereços suprimidos. Requer uma chave de API com escopo full.
/suppressionsCorpo da requisição
emailstringObrigatórioEndereço a suprimir. O Emailit o armazena em minúsculas.
typestringTipo de supressão. Padrão: recipient. O Emailit usa recipient, bounce, complaint e unsubscribe.
Apenas as supressões recipient bloqueiam os e-mails enviados pela API e por SMTP. As campanhas ignoram todos os endereços com uma supressão ativa de qualquer tipo. Um endereço pode ter uma supressão por tipo.
reasonstringObservação em texto livre, por exemplo manual ou Asked to stop receiving invoices.
keep_untilstring | number | nullQuando a supressão expira. Aceita um timestamp ISO 8601 (2026-12-31T00:00:00Z), um timestamp Unix em segundos (1798675200) ou linguagem natural em inglês, como in 30 days ou tomorrow at 9am. Omita-o ou envie null para uma supressão permanente.
Depois desse momento, a supressão deixa de bloquear os envios. Ela continua na lista até que você a exclua.
Retorno
Retorna 201 Created com o objeto de supressão. O Emailit também envia um evento de webhook suppression.created.
| Status | Quando |
|---|---|
400 |
email não é um endereço válido ou keep_until não pode ser interpretado (o corpo tem uma string error), ou email está ausente (erro de validação padrão). |
409 |
O endereço já tem uma supressão deste tipo. O corpo inclui a supressão existente em 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
}
}Obter uma supressão
Retorna uma supressão, buscada pelo ID ou pelo endereço de e-mail. Requer uma chave de API com escopo full.
/suppressions/:idParâmetros de caminho
idstringObrigatórioID da supressão (sup_…) ou o endereço suprimido. Codifique o endereço para URL, por exemplo ada%40example.com.
Um endereço pode ter uma supressão por tipo. Quando você busca pelo endereço, o Emailit retorna uma delas; use o ID para obter um tipo específico.
Retorno
Retorna 200 OK com o objeto de supressão. Uma supressão cujo keep_until já passou não bloqueia mais os envios.
Retorna 400 se id não for nem um ID sup_ nem um endereço de e-mail válido, e 404 se nenhuma supressão corresponder.
{
"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"
}Atualizar uma supressão
Atualiza uma supressão. Envie apenas os campos que você quer alterar; pelo menos um é obrigatório. Requer uma chave de API com escopo full.
/suppressions/:idParâmetros de caminho
idstringObrigatórioID da supressão (sup_…) ou o endereço suprimido, codificado para URL (ada%40example.com). Quando um endereço tiver supressões de vários tipos, use o ID.
Corpo da requisição
emailstringNovo endereço. Armazenado em minúsculas.
typestringNovo tipo: recipient, bounce, complaint ou unsubscribe. Apenas as supressões recipient bloqueiam os envios pela API e por SMTP.
reasonstringNovo motivo, em texto livre.
keep_untilstring | number | nullNova data de expiração, nos mesmos formatos aceitos na criação: ISO 8601, um timestamp Unix em segundos ou linguagem natural em inglês, como in 30 days. Envie null para tornar a supressão permanente.
Retorno
Retorna 200 OK com a supressão atualizada. O Emailit também envia um evento de webhook suppression.updated.
| Status | Quando |
|---|---|
400 |
O corpo não tem nenhum dos campos acima, email é inválido ou keep_until não pode ser interpretado. |
404 |
Nenhuma supressão corresponde a id. |
409 |
Já existe outra supressão para o novo endereço e tipo. |
{
"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"
}Listar supressões
Retorna as supressões do seu workspace, das mais recentes para as mais antigas. A listagem inclui as supressões que o Emailit adiciona automaticamente após bounces e reclamações, e as supressões expiradas cujo keep_until já passou. Requer uma chave de API com escopo full.
/suppressionsParâmetros de consulta
pageintegerNúmero da página, a partir de 1. Padrão: 1.
limitintegerSupressões por página, de 1 a 100. Padrão: 10.
searchstringBusca sem diferenciar maiúsculas de minúsculas no endereço ou no motivo. q funciona como alias.
matchstringall (padrão) exige que todos os filtros key.condition correspondam. or aceita qualquer um deles. Consulte Filtragem.
sortstringChave de ordenação: email, reason, type ou created_at (padrão).
orderstringDireção da ordenação: asc ou desc (padrão).
Filtros
Os filtros de listagem são um único nível de parâmetros de consulta key.condition=value. Consulte Filtragem para match, order, direction e a lista de condições por tipo.
Chaves de filtro
| Chave | Tipo | Condições | Observações |
|---|---|---|---|
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 |
Chaves de ordenação
Este endpoint ordena com sort definido como uma destas chaves e order definido como asc ou desc (aqui, order=<key> retorna 400): email, reason, type, created_at, keep_until
Neste endpoint, order só aceita asc ou desc. Passe a chave de ordenação em sort, por exemplo sort=email&order=asc.
Retorno
Retorna 200 OK com as supressões em data, além de next_page_url e previous_page_url (null quando não há página seguinte ou anterior). As URLs das páginas mantêm a sua busca, os seus filtros e a sua ordenação.
{
"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"
}Excluir uma supressão
Exclui uma supressão para que o endereço possa receber e-mails de novo. Requer uma chave de API com escopo full.
/suppressions/:idParâmetros de caminho
idstringObrigatórioID da supressão (sup_…) ou o endereço suprimido, codificado para URL (ada%40example.com).
Uma requisição por endereço exclui uma supressão. Se o endereço tiver supressões de vários tipos, exclua cada uma pelo ID ou repita a requisição até que ela retorne 404.
Retorno
Retorna 200 OK com o id e o email da supressão excluída e deleted: true. O Emailit também envia um evento de webhook suppression.deleted.
Retorna 400 se id não for nem um ID sup_ nem um endereço de e-mail válido, e 404 se nenhuma supressão corresponder.
{
"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"
}