Abonnenten
Abonnenten einer Kontaktliste hinzufügen, aktualisieren und entfernen.
Abonnent hinzufügen
Fügt einer Kontaktliste einen Kontakt per E-Mail-Adresse hinzu.
/audiences/{audience_id}/subscribersErfordert einen API-Schlüssel mit dem Scope full. Gibt es noch keinen Kontakt mit dieser E-Mail-Adresse, erstellt Emailit einen. Existiert der Kontakt, überschreiben die gesendeten Namen und eigenen Felder seine aktuellen Werte. Ein Kontakt, der sich von der Kontaktliste abgemeldet hatte, wird erneut angemeldet und die Antwort ist 200; für einen bereits angemeldeten Kontakt gibt die Anfrage 409 zurück.
Jede Kontaktliste kann so viele Abonnenten aufnehmen, wie Ihr Tarif erlaubt; darüber hinaus gibt die Anfrage 422 mit Ihrer Nutzung in usage zurück. Löst subscriber.created aus, bei einer erneuten Anmeldung subscriber.updated und subscriber.resubscribed.
Mit double_opt_in erhält die Person die Double-Opt-in-E-Mail der Kontaktliste und tritt bei, wenn sie auf den Link klickt. Die Antwort ist daher 202, und es gibt noch keinen Abonnenten.
Pfadparameter
audience_idstringerforderlichaud_…) oder ihr Name.Body-Parameter
emailstringerforderlichfirst_namestringlast_namestringcustom_fieldsobjectWerte eigener Felder nach Schlüssel, etwa {"company": "Analytical Engines"}. Ersetzt die bestehenden eigenen Felder des Kontakts.
double_opt_inbooleanStandardwert: false422 zurück. Eine bereits angemeldete Person erhält wie üblich 409.send_confirmation_emailbooleanStandardwert: falseRückgabe
Gibt 201 mit dem Abonnenten-Objekt zurück oder 200, wenn ein abgemeldeter Kontakt erneut angemeldet wurde. Mit double_opt_in gibt die Anfrage 202 mit object: "subscriber_confirmation", status: "pending", audience_id, contact_id und email zurück. Kann die Double-Opt-in-E-Mail nicht gesendet werden, gibt die Anfrage 422 mit einem code wie unverified_domain oder insufficient_credits zurück.
{
"object": "subscriber",
"id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"first_name": "Ada",
"last_name": "Lovelace",
"custom_fields": {
"company": "Analytical Engines"
},
"subscribed": true,
"subscribed_at": "2026-10-01T10:20:31.000000Z",
"unsubscribed_at": null,
"created_at": "2026-10-01T10:20:31.000000Z",
"updated_at": "2026-10-01T10:20:31.000000Z"
}{
"object": "subscriber_confirmation",
"status": "pending",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"message": "A double opt-in email was sent. They join the audience when they click its link."
}{
"error": "Audience not found"
}{
"error": "Contact is already subscribed to this audience",
"existing": {
"object": "subscriber",
"id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"first_name": "Ada",
"last_name": "Lovelace",
"custom_fields": { "company": "Analytical Engines" },
"subscribed": true,
"subscribed_at": "2026-10-01T10:20:31.000Z",
"unsubscribed_at": null,
"created_at": "2026-10-01T10:20:31.000Z",
"updated_at": "2026-10-01T10:20:31.000Z"
}
}{
"error": "Pro includes 50,000 subscribers per audience.",
"usage": {
"used": 50000,
"limit": 50000,
"plan": "pro"
}
}Abonnent abrufen
Ruft die Mitgliedschaft eines Kontakts in einer Kontaktliste ab.
/audiences/{audience_id}/subscribers/{id}Erfordert einen API-Schlüssel mit dem Scope full. Ein Abonnent verknüpft einen Kontakt mit einer Kontaktliste. E-Mail-Adresse, Namen und eigene Felder gehören zum Kontakt, subscribed gilt nur für diese Kontaktliste.
Pfadparameter
audience_idstringerforderlichaud_…) oder ihr Name.idstringerforderlichsub_…) oder die E-Mail-Adresse des Kontakts, URL-kodiert.Rückgabe
Gibt das Abonnenten-Objekt zurück.
objectstringsubscriber.idstringaudience_idstringcontact_idstringemailstringfirst_namestring | nulllast_namestring | nullcustom_fieldsobject | nullsubscribedbooleantrue, wenn der Kontakt bei dieser Kontaktliste angemeldet ist, false, wenn er sich abgemeldet hat.subscribed_atstring | nullunsubscribed_atstring | nullnull.created_atstringupdated_atstring{
"object": "subscriber",
"id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"first_name": "Ada",
"last_name": "Lovelace",
"custom_fields": {
"company": "Analytical Engines"
},
"subscribed": true,
"subscribed_at": "2026-10-01T10:20:31.000000Z",
"unsubscribed_at": null,
"created_at": "2026-10-01T10:20:31.000000Z",
"updated_at": "2026-10-01T10:20:31.000000Z"
}{
"error": "Subscriber not found"
}Abonnent aktualisieren
Ändert den Status eines Abonnenten in der Kontaktliste oder die Daten seines Kontakts.
/audiences/{audience_id}/subscribers/{id}Erfordert einen API-Schlüssel mit dem Scope full. Senden Sie nur die Felder, die Sie ändern möchten. subscribed gilt nur für diese Kontaktliste. email, first_name, last_name und custom_fields ändern den Kontakt selbst, daher zeigt sich die Änderung in jeder Kontaktliste, zu der der Kontakt gehört. Löst das Event subscriber.updated aus.
Pfadparameter
audience_idstringerforderlichaud_…) oder ihr Name.idstringerforderlichsub_…) oder die E-Mail-Adresse des Kontakts, URL-kodiert.Body-Parameter
subscribedbooleanfalse meldet den Kontakt von dieser Kontaktliste ab, true meldet ihn erneut an. Der Abonnent bleibt in beiden Fällen in der Kontaktliste.emailstringfirst_namestringlast_namestringcustom_fieldsobjectRückgabe
Gibt das aktualisierte Abonnenten-Objekt zurück. Eine Anfrage ohne eines dieser Felder gibt 400 zurück.
curl -X POST https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers/ada%40example.com \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"subscribed": false}'{
"object": "subscriber",
"id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"first_name": "Ada",
"last_name": "Lovelace",
"custom_fields": {
"company": "Analytical Engines"
},
"subscribed": false,
"subscribed_at": "2026-10-01T10:20:31.000000Z",
"unsubscribed_at": "2026-10-02T08:14:55.000000Z",
"created_at": "2026-10-01T10:20:31.000000Z",
"updated_at": "2026-10-02T08:14:55.000000Z"
}{
"error": "No valid fields provided for update. Provide at least one of: email, first_name, last_name, custom_fields, subscribed"
}{
"error": "Subscriber not found"
}Abonnenten auflisten
Gibt eine Seite mit Abonnenten einer Kontaktliste zurück, die neuesten zuerst.
/audiences/{audience_id}/subscribersErfordert einen API-Schlüssel mit dem Scope full. Die Liste enthält auch Kontakte, die sich von der Kontaktliste abgemeldet haben, sofern Sie sie nicht mit subscribed=true herausfiltern.
Pfadparameter
audience_idstringerforderlichaud_…) oder ihr Name.Query-Parameter
pageintegerStandardwert: 1limitintegerStandardwert: 25per_page funktioniert ebenfalls.subscribedstringtrue nur für angemeldete Kontakte, false nur für abgemeldete.engagementstringunengaged für Abonnenten, die im Zeitfenster der Kontaktliste als inaktiv gelten, engaged für die übrigen. Kombinieren Sie den Parameter mit subscribed=true, um Personen auszulassen, die sich bereits abgemeldet haben.searchstringmatchstringStandardwert: allall oder or. Wie die Filter unten kombiniert werden.orderstringdirectionstringasc oder desc.Filter
Fügen Sie Filter als key.condition=value hinzu, zum Beispiel email.ends_with=@acme.com. Siehe Filtern und Sortieren.
| Schlüssel | Typ | Hinweise |
|---|---|---|
email |
string | |
first_name |
string | |
last_name |
string | |
subscribed |
boolean | |
subscribed_at |
date | Zeitpunkt, zu dem die Anmeldung zuletzt begonnen hat. |
last_engaged_at |
date | Die letzte Öffnung oder der letzte Klick des Kontakts. Leere Werte werden zuletzt einsortiert. |
created_at |
date | Zeitpunkt, zu dem der Kontakt in die Kontaktliste aufgenommen wurde. |
Jeder Schlüssel ist auch ein Sortierschlüssel.
Rückgabe
dataobject[]last_opened_at, last_clicked_at und last_engaged_at (die Zeitpunkte der letzten Öffnung, des letzten Klicks und der letzten Öffnung oder des letzten Klicks des Kontakts, oder null) sowie unengaged.total_recordsintegernext_page_urlstring | nullnull. Er übernimmt subscribed und engagement, aber nicht Ihre anderen Filter. Siehe Paginierung.previous_page_urlstring | nullnull.usageobjectused (Abonnenten in der Kontaktliste), limit (das Maximum, das Ihr Tarif pro Kontaktliste erlaubt, oder null) und plan.curl -G https://api.emailit.com/v2/audiences/aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2/subscribers \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-d subscribed=true \
-d limit=100{
"data": [
{
"object": "subscriber",
"id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"first_name": "Ada",
"last_name": "Lovelace",
"custom_fields": {
"company": "Analytical Engines"
},
"subscribed": true,
"subscribed_at": "2026-10-01T10:20:31.000000Z",
"unsubscribed_at": null,
"last_opened_at": "2026-10-06T08:14:02.000000Z",
"last_clicked_at": null,
"last_engaged_at": "2026-10-06T08:14:02.000000Z",
"unengaged": false,
"created_at": "2026-10-01T10:20:31.000000Z",
"updated_at": "2026-10-01T10:20:31.000000Z"
},
{
"object": "subscriber",
"id": "sub_4KnmYprkoMRytdkm3tAHIfPW0Vh",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4KiXIs4xLTcJIAHnKJaLcnMZYh7",
"email": "grace@example.com",
"first_name": "Grace",
"last_name": "Hopper",
"custom_fields": null,
"subscribed": false,
"subscribed_at": "2026-09-28T07:55:02.000000Z",
"unsubscribed_at": "2026-09-30T18:11:40.000000Z",
"last_opened_at": null,
"last_clicked_at": null,
"last_engaged_at": null,
"unengaged": false,
"created_at": "2026-09-28T07:55:02.000000Z",
"updated_at": "2026-09-30T18:11:40.000000Z"
}
],
"total_records": 2,
"next_page_url": null,
"previous_page_url": null,
"usage": {
"used": 2,
"limit": 50000,
"plan": "pro"
}
}{
"error": "Audience not found"
}Abonnenten gesammelt aktualisieren
Meldet viele Abonnenten einer Kontaktliste an oder ab oder entfernt sie.
/audiences/{audience_id}/subscribers/bulkErfordert einen API-Schlüssel mit dem Scope full. Wählen Sie die Abonnenten über ids aus, oder setzen Sie all_matching, um alle Personen zu bearbeiten, die den Filtern entsprechen, bis zu 10.000 Personen. Jede Änderung löst dasselbe Event aus wie die Änderung eines einzelnen Abonnenten: subscriber.updated beim An- und Abmelden, subscriber.deleted beim Löschen. Abmelden lässt Personen mit subscribed: false auf der Liste; Löschen entfernt ihre Mitgliedschaft und behält die Kontakte. Siehe Massenaktionen.
Pfadparameter
audience_idstringerforderlichaud_…) oder ihr Name.Body-Parameter
actionstringerforderlichsubscribe, unsubscribe oder delete.idsstring[]sub_…), bis zu 1.000. Alle müssen zur Kontaktliste gehören, sonst ändert sich nichts, und die Anfrage gibt 404 mit den fehlenden IDs in missing zurück.all_matchingbooleanStandardwert: falseids jeden Abonnenten, der den Filtern unten entspricht. Mehr als 10.000 Treffer geben 422 zurück.engagementstringsubscribedbooleanall_matching: nur angemeldete (true) oder abgemeldete (false) Personen.searchstringall_matching: Abgleich mit E-Mail-Adresse, Vor- oder Nachname, ohne Beachtung der Groß-/Kleinschreibung.Rückgabe
objectstringsubscriber_bulk.actionstringaudience_idstringprocessedintegerchangedinteger{
"object": "subscriber_bulk",
"action": "unsubscribe",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"processed": 212,
"changed": 212
}{
"error": "One or more subscribers were not found",
"missing": ["sub_4KnmYprkoMRytdkm3tAHIfPW0Vh"]
}{
"error": "More than 10000 subscribers match. Narrow the filter and try again."
}Abonnent löschen
Entfernt einen Kontakt aus einer Kontaktliste.
/audiences/{audience_id}/subscribers/{id}Erfordert einen API-Schlüssel mit dem Scope full. Der Kontakt selbst wird nicht gelöscht und bleibt in seinen anderen Kontaktlisten. Um festzuhalten, dass sich jemand abgemeldet hat, melden Sie die Person stattdessen mit subscribed: false ab. Löst das Event subscriber.deleted aus.
Pfadparameter
audience_idstringerforderlichaud_…) oder ihr Name.idstringerforderlichsub_…) oder die E-Mail-Adresse des Kontakts, URL-kodiert.Rückgabe
objectstringsubscriber.idstringaudience_idstringcontact_idstringemailstringdeletedbooleantrue.{
"object": "subscriber",
"id": "sub_4KECYl5AwXEy8ezswYRhuddttxo",
"audience_id": "aud_4KbFmQPy1feMCGAY8F8pAhiZ1u2",
"contact_id": "con_4K9kQdrXth7am0TPKvPrR5yd2oo",
"email": "ada@example.com",
"deleted": true
}{
"error": "Subscriber not found"
}