Blokované adresy
Čtěte a spravujte adresy, na které Emailit nebude odesílat.
Vytvoření blokace
Přidá adresu na seznam blokovaných adres vašeho workspace. E-maily přes API a SMTP na adresu s blokací typu recipient se neodešlou, ale dostanou stav suppressed, a kampaně blokované adresy přeskakují. Vyžaduje API klíč s oprávněním full.
/suppressionsTělo požadavku
emailstringPovinnéAdresa, kterou chcete zablokovat. Emailit ji ukládá malými písmeny.
typestringTyp blokace. Výchozí hodnota je recipient. Emailit používá typy recipient, bounce, complaint a unsubscribe.
E-maily odeslané přes API a SMTP zastaví jen blokace typu recipient. Kampaně přeskakují každou adresu s aktivní blokací jakéhokoli typu. Adresa může mít od každého typu jednu blokaci.
reasonstringPoznámka ve volném textu, například manual nebo Asked to stop receiving invoices.
keep_untilstring | number | nullKdy blokace vyprší. Přijímá časové razítko ISO 8601 (2026-12-31T00:00:00Z), unixové časové razítko v sekundách (1798675200) nebo přirozený jazyk, například in 30 days nebo tomorrow at 9am. Pro trvalou blokaci parametr vynechte, nebo pošlete null.
Po uplynutí tohoto času blokace přestane bránit odesílání. Na seznamu zůstane, dokud ji nesmažete.
Odpověď
Vrací 201 Created s objektem blokace. Emailit také odešle webhookovou událost suppression.created.
| Stavový kód | Kdy |
|---|---|
400 |
email není platná adresa nebo keep_until nelze zpracovat (tělo obsahuje řetězec error), nebo email chybí (standardní chyba validace). |
409 |
Adresa už má blokaci tohoto typu. Tělo obsahuje existující blokaci v poli 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
}
}Načtení blokace
Vrací jednu blokaci dohledanou podle ID, nebo podle e-mailové adresy. Vyžaduje API klíč s oprávněním full.
/suppressions/:idParametry v cestě
idstringPovinnéID blokace (sup_…), nebo blokovaná adresa. Adresu zakódujte pro URL, například ada%40example.com.
Adresa může mít od každého typu jednu blokaci. Když hledáte podle adresy, Emailit vrátí jednu z nich; pro konkrétní typ použijte ID.
Odpověď
Vrací 200 OK s objektem blokace. Blokace, jejíž keep_until je v minulosti, už odesílání nebrání.
Pokud id není ID sup_ ani platná e-mailová adresa, vrací 400, a pokud žádná blokace neodpovídá, vrací 404.
{
"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"
}Úprava blokace
Upraví blokaci. Pošlete jen pole, která chcete změnit; alespoň jedno je povinné. Vyžaduje API klíč s oprávněním full.
/suppressions/:idParametry v cestě
idstringPovinnéID blokace (sup_…), nebo blokovaná adresa zakódovaná pro URL (ada%40example.com). Pokud má adresa blokace více typů, použijte ID.
Tělo požadavku
emailstringNová adresa. Ukládá se malými písmeny.
typestringNový typ: recipient, bounce, complaint nebo unsubscribe. Odesílání přes API a SMTP zastaví jen blokace typu recipient.
reasonstringNový důvod ve volném textu.
keep_untilstring | number | nullNové datum vypršení ve stejných formátech jako při vytvoření: ISO 8601, unixové časové razítko v sekundách nebo přirozený jazyk, například in 30 days. Pokud má být blokace trvalá, pošlete null.
Odpověď
Vrací 200 OK s upravenou blokací. Emailit také odešle webhookovou událost suppression.updated.
| Stavový kód | Kdy |
|---|---|
400 |
Tělo neobsahuje žádné z výše uvedených polí, email je neplatný nebo keep_until nelze zpracovat. |
404 |
Parametru id neodpovídá žádná blokace. |
409 |
Pro novou adresu a typ už existuje jiná blokace. |
{
"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"
}Výpis blokovaných adres
Vrací blokace ve vašem workspace od nejnovějších. Seznam obsahuje i blokace, které Emailit přidává automaticky po nedoručeních a stížnostech, a vypršené blokace, jejichž keep_until už uplynulo. Vyžaduje API klíč s oprávněním full.
/suppressionsParametry dotazu
pageintegerČíslo stránky, začíná na 1. Výchozí hodnota je 1.
limitintegerPočet blokací na stránce, od 1 do 100. Výchozí hodnota je 10.
searchstringHledá v adrese nebo v důvodu bez ohledu na velikost písmen. Jako alias funguje q.
matchstringall (výchozí) vyžaduje shodu všech filtrů key.condition. U or stačí shoda kteréhokoli z nich. Viz Filtrování a řazení.
sortstringKlíč řazení: email, reason, type nebo created_at (výchozí).
orderstringSměr řazení: asc, nebo desc (výchozí).
Filtry
Filtry výpisů jsou jedna úroveň parametrů dotazu ve tvaru key.condition=value. Parametry match, order a direction a seznam podmínek pro každý typ najdete na stránce Filtrování.
Klíče filtrů
| Klíč | Typ | Podmínky | Poznámky |
|---|---|---|---|
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 |
Klíče řazení
Tento endpoint řadí podle parametru sort s jedním z těchto klíčů a parametru order s hodnotou asc, nebo desc (order=<key> tu vrací 400): email, reason, type, created_at, keep_until
U tohoto endpointu přijímá order jen asc, nebo desc. Klíč řazení předejte v sort, například sort=email&order=asc.
Odpověď
Vrací 200 OK s blokacemi v poli data a k tomu next_page_url a previous_page_url (null, když další nebo předchozí stránka neexistuje). URL stránek zachovávají vaše vyhledávání, filtry a řazení.
{
"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"
}Smazání blokace
Smaže blokaci, aby adresa mohla znovu dostávat e-maily. Vyžaduje API klíč s oprávněním full.
/suppressions/:idParametry v cestě
idstringPovinnéID blokace (sup_…), nebo blokovaná adresa zakódovaná pro URL (ada%40example.com).
Požadavek podle adresy smaže jednu blokaci. Pokud má adresa blokace více typů, smažte každou podle ID, nebo požadavek opakujte, dokud nevrátí 404.
Odpověď
Vrací 200 OK s poli id a email smazané blokace a deleted: true. Emailit také odešle webhookovou událost suppression.deleted.
Pokud id není ID sup_ ani platná e-mailová adresa, vrací 400, a pokud žádná blokace neodpovídá, vrací 404.
{
"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"
}