Sperrliste abrufen
Rufen Sie eine paginierte Liste aller Sperrungen in Ihrem Emailit-Arbeitsbereich ab.
/suppressionsAbfrageparameter
limitintegerEinträge pro Seite (1-100). Standard: 10.
pageintegerSeitennummer. Standard: 1.
const response = await fetch('https://api.emailit.com/v2/suppressions?page=1&limit=10', {
method: 'GET',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/suppressions?page=1&limit=10',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Fehler #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.get(
'https://api.emailit.com/v2/suppressions',
params={
'page': 1,
'limit': 10
},
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/suppressions?page=1&limit=10')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
baseURL := "https://api.emailit.com/v2/suppressions"
params := url.Values{}
params.Add("page", "1")
params.Add("limit", "10")
fullURL := baseURL + "?" + params.Encode()
req, _ := http.NewRequest("GET", fullURL, nil)
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::Value;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.get("https://api.emailit.com/v2/suppressions")
.query(&[("page", "1"), ("limit", "10")])
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class ListSuppressions {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/suppressions?page=1&limit=10"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Threading.Tasks;
public class ListSuppressions
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var response = await client.GetAsync(
"https://api.emailit.com/v2/suppressions?page=1&limit=10");
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X GET "https://api.emailit.com/v2/suppressions?page=1&limit=10" \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" {
"data": [
{
"object": "suppression",
"id": "sup_47TaFwzJx6mD7NeJYvLjFxVwbgT",
"email": "bounced@example.com",
"type": "bounce",
"reason": "Hard bounce - Postfach existiert nicht",
"timestamp": "2025-12-24T10:30:00.000000Z",
"keep_until": null
}
],
"next_page_url": "/v2/suppressions?page=2&limit=10",
"previous_page_url": null
} {
"message": "Nicht autorisiert"
} Unterdrückung abrufen
Eine einzelne Unterdrückung anhand der ID oder E-Mail-Adresse abrufen.
/suppressions/:idPfad-Parameter
idstringRequiredUnterdrückungs-ID (sup_xxx) oder E-Mail-Adresse. Bei Verwendung einer E-Mail-Adresse muss das @-Symbol URL-kodiert werden (z.B. benutzer%40beispiel.de).
const response = await fetch('https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT', {
method: 'GET',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL-Fehler #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.get(
'https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::Value;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.get("https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class GetSuppression {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Threading.Tasks;
public class GetSuppression
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var response = await client.GetAsync(
"https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT");
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X GET "https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT" \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" {
"object": "suppression",
"id": "sup_47TaFwzJx6mD7NeJYvLjFxVwbgT",
"email": "bounced@example.com",
"type": "bounce",
"reason": "Hard bounce - Postfach existiert nicht",
"timestamp": "2025-12-24T10:30:00.000000Z",
"keep_until": null
} {
"error": "Ungültiger Bezeichner. Muss eine Unterdrückungs-ID (sup_xxx) oder gültige E-Mail-Adresse sein."
} {
"error": "Unterdrückung nicht gefunden"
} Suche nach E-Mail-Adresse
Sie können eine Unterdrückung auch anhand der E-Mail-Adresse anstelle der ID suchen. Bei der Verwendung von E-Mail-Adressen in URLs muss die Adresse URL-kodiert werden (z.B. bounced%40beispiel.de anstelle von bounced@beispiel.de).
Unterdrückung erstellen
Fügen Sie eine E-Mail-Adresse zur Unterdrückungsliste hinzu, um das Versenden von E-Mails an diese Adresse zu verhindern.
/suppressionsRequest Body
emailstringRequiredE-Mail-Adresse, die unterdrückt werden soll. Wird in Kleinbuchstaben gespeichert.
typestringUnterdrückungstyp (z.B. recipient, bounce, complaint, unsubscribe). Standard: recipient.
reasonstringVerständlicher Grund für die Unterdrückung.
keep_untilstringAblaufzeitpunkt im ISO 8601-Format. Auf null setzen für dauerhafte Unterdrückung.
const response = await fetch('https://api.emailit.com/v2/suppressions', {
method: 'POST',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'abgemeldet@example.com',
type: 'unsubscribe',
reason: 'Benutzer hat Abmeldung angefordert',
keep_until: null
})
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/suppressions',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'email' => 'abgemeldet@example.com',
'type' => 'unsubscribe',
'reason' => 'Benutzer hat Abmeldung angefordert',
'keep_until' => null
]),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Fehler #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.post(
'https://api.emailit.com/v2/suppressions',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
json={
'email': 'abgemeldet@example.com',
'type': 'unsubscribe',
'reason': 'Benutzer hat Abmeldung angefordert',
'keep_until': None
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/suppressions')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
request.body = {
email: 'abgemeldet@example.com',
type: 'unsubscribe',
reason: 'Benutzer hat Abmeldung angefordert',
keep_until: nil
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/suppressions"
data := map[string]interface{}{
"email": "abgemeldet@example.com",
"type": "unsubscribe",
"reason": "Benutzer hat Abmeldung angefordert",
"keep_until": nil,
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::{json, Value};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.post("https://api.emailit.com/v2/suppressions")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.json(&json!({
"email": "abgemeldet@example.com",
"type": "unsubscribe",
"reason": "Benutzer hat Abmeldung angefordert",
"keep_until": null
}))
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpRequest.BodyPublishers;
public class CreateSuppression {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
String jsonBody = """
{
"email": "abgemeldet@example.com",
"type": "unsubscribe",
"reason": "Benutzer hat Abmeldung angefordert",
"keep_until": null
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/suppressions"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString(jsonBody))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class CreateSuppression
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var data = new {
email = "abgemeldet@example.com",
type = "unsubscribe",
reason = "Benutzer hat Abmeldung angefordert",
keep_until = (string)null
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api.emailit.com/v2/suppressions", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X POST https://api.emailit.com/v2/suppressions \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" \
-d '{
"email": "abgemeldet@example.com",
"type": "unsubscribe",
"reason": "Benutzer hat Abmeldung angefordert",
"keep_until": null
}' {
"object": "suppression",
"id": "sup_47TaFwzJx6mD7NeJYvLjFxVwbgT",
"email": "abgemeldet@example.com",
"type": "unsubscribe",
"reason": "Benutzer hat Abmeldung angefordert",
"timestamp": "2025-12-24T10:30:00.000000Z",
"keep_until": null
} {
"error": "Ungültiges E-Mail-Format"
} {
"error": "Erforderliches Feld fehlt: email"
} {
"error": "Unterdrückung existiert bereits für diese E-Mail-Adresse und diesen Typ",
"existing": {
"object": "suppression",
"id": "sup_existingOid123456789",
"email": "abgemeldet@example.com",
"type": "unsubscribe",
"reason": "Vorheriger Grund",
"timestamp": "2025-12-20T08:00:00.000000Z",
"keep_until": null
}
} Temporäre Unterdrückungen
Verwenden Sie keep_until, um eine temporäre Unterdrückung zu erstellen, die automatisch abläuft. Das Format ist dasselbe wie scheduled_at für E-Mails: akzeptiert ISO 8601, Unix-Zeitstempel oder natürliche Sprache wie “morgen um 9 Uhr”.
Nach Ablauf des keep_until-Zeitstempels wird die Unterdrückung automatisch entfernt und E-Mails können wieder an diese Adresse gesendet werden.
Unterdrückung aktualisieren
Aktualisiert eine bestehende Unterdrückung. Der Parameter :id akzeptiert sowohl eine Unterdrückungs-ID als auch eine E-Mail-Adresse.
/suppressions/:idPfad-Parameter
idstringRequiredUnterdrückungs-ID (sup_xxx) oder E-Mail-Adresse. Bei Verwendung einer E-Mail-Adresse muss das @-Symbol URL-kodiert werden.
Request Body (alle Parameter optional)
emailstringNeue E-Mail-Adresse für die Unterdrückung.
typestringNeuer Unterdrückungstyp.
reasonstringNeuer Grund für die Unterdrückung.
keep_untilstring | nullNeuer Ablaufzeitpunkt (ISO 8601) oder null für dauerhafte Unterdrückung.
const response = await fetch('https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT', {
method: 'POST',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
body: JSON.stringify({
reason: 'Aktualisierter Grund für die Unterdrückung',
keep_until: '2026-01-01T00:00:00.000000Z'
})
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'reason' => 'Aktualisierter Grund für die Unterdrückung',
'keep_until' => '2026-01-01T00:00:00.000000Z'
]),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Fehler #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.post(
'https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
},
json={
'reason': 'Aktualisierter Grund für die Unterdrückung',
'keep_until': '2026-01-01T00:00:00.000000Z'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
request.body = {
reason: 'Aktualisierter Grund für die Unterdrückung',
keep_until: '2026-01-01T00:00:00.000000Z'
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT"
data := map[string]interface{}{
"reason": "Aktualisierter Grund für die Unterdrückung",
"keep_until": "2026-01-01T00:00:00.000000Z",
}
jsonData, _ := json.Marshal(data)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::{json, Value};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.post("https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.json(&json!({
"reason": "Aktualisierter Grund für die Unterdrückung",
"keep_until": "2026-01-01T00:00:00.000000Z"
}))
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.http.HttpRequest.BodyPublishers;
public class UpdateSuppression {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
String jsonBody = """
{
"reason": "Aktualisierter Grund für die Unterdrückung",
"keep_until": "2026-01-01T00:00:00.000000Z"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.POST(BodyPublishers.ofString(jsonBody))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class UpdateSuppression
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var data = new {
reason = "Aktualisierter Grund für die Unterdrückung",
keep_until = "2026-01-01T00:00:00.000000Z"
};
var json = JsonConvert.SerializeObject(data);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync(
"https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT", content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X POST https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" \
-d '{
"reason": "Aktualisierter Grund für die Unterdrückung",
"keep_until": "2026-01-01T00:00:00.000000Z"
}' {
"object": "suppression",
"id": "sup_47TaFwzJx6mD7NeJYvLjFxVwbgT",
"email": "bounced@example.com",
"type": "bounce",
"reason": "Aktualisierter Grund für die Unterdrückung",
"timestamp": "2025-12-24T10:30:00.000000Z",
"keep_until": "2026-01-01T00:00:00.000000Z"
} {
"error": "Keine gültigen Felder für die Aktualisierung angegeben. Geben Sie mindestens eines der folgenden Felder an: email, type, reason, keep_until"
} {
"error": "Unterdrückung nicht gefunden"
} {
"error": "Für diese E-Mail-Adresse und Typ-Kombination existiert bereits eine andere Unterdrückung"
} Wichtige Hinweise
- Mindestens ein Feld muss im Request Body angegeben werden.
- Wenn Sie die
emailoder dentypezu einer bereits existierenden Kombination ändern, erhalten Sie einen 409-Konfliktfehler. - Sie können die Unterdrückung auch über die E-Mail-Adresse anstatt über die ID suchen, indem Sie das
@-Symbol URL-kodieren (z.B.bounced%40example.com).
Unterdrückung löschen
Entfernen Sie eine Unterdrückung, um wieder E-Mails an diese Adresse senden zu können.
/suppressions/:idPfad-Parameter
idstringRequiredUnterdrückungs-ID (sup_xxx) oder E-Mail-Adresse. Bei Verwendung einer E-Mail-Adresse muss das @-Symbol URL-kodiert werden (z.B. benutzer%40beispiel.com).
const response = await fetch('https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT', {
method: 'DELETE',
headers: {
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
});
const result = await response.json(); <?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'DELETE',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type: application/json'
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL-Fehler #:" . $err;
} else {
$result = json_decode($response, true);
print_r($result);
} import requests
response = requests.delete(
'https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT',
headers={
'Authorization': 'Bearer em_test_51RxCWJ...vS00p61e0qRE',
'Content-Type': 'application/json'
}
)
result = response.json()
print(result) require 'net/http'
require 'json'
uri = URI('https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(uri)
request['Authorization'] = 'Bearer em_test_51RxCWJ...vS00p61e0qRE'
request['Content-Type'] = 'application/json'
response = http.request(request)
result = JSON.parse(response.body)
puts result package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Set("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
} use reqwest;
use serde_json::Value;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let response = client
.delete("https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT")
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.send()
.await?;
let result: Value = response.json().await?;
println!("{:?}", result);
Ok(())
} import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class DeleteSuppression {
public static void main(String[] args) throws Exception {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT"))
.header("Authorization", "Bearer em_test_51RxCWJ...vS00p61e0qRE")
.header("Content-Type", "application/json")
.DELETE()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
} using System;
using System.Net.Http;
using System.Threading.Tasks;
public class DeleteSuppression
{
public static async Task Main()
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization",
"Bearer em_test_51RxCWJ...vS00p61e0qRE");
var response = await client.DeleteAsync(
"https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT");
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
} curl -X DELETE "https://api.emailit.com/v2/suppressions/sup_47TaFwzJx6mD7NeJYvLjFxVwbgT" \
-H "Authorization: Bearer em_test_51RxCWJ...vS00p61e0qRE" \
-H "Content-Type: application/json" {
"object": "suppression",
"id": "sup_47TaFwzJx6mD7NeJYvLjFxVwbgT",
"email": "bounced@example.com",
"deleted": true
} {
"error": "Ungültiger Bezeichner. Muss eine Unterdrückungs-ID (sup_xxx) oder gültige E-Mail-Adresse sein."
} {
"error": "Unterdrückung nicht gefunden"
} Löschen per E-Mail-Adresse
Sie können eine Unterdrückung auch über die E-Mail-Adresse anstatt über die ID löschen. Bei der Verwendung von E-Mail-Adressen in URLs muss die Adresse URL-kodiert werden (z.B. bounced%40example.com anstatt bounced@example.com).