Referenz
API-Referenz
Die REST-API von Emailit im Überblick. Basis-URL, Authentifizierung, JSON-Anfragen und -Antworten, Objekt-IDs, Versionierung und alle Ressourcen, die Sie verwalten können.
Die Emailit-API ist eine REST-API, die über HTTPS bereitgestellt wird. Sie senden JSON, Sie erhalten JSON zurück, und Sie authentifizieren jede Anfrage mit einem Bearer-Token. Damit senden Sie E-Mails und verwalten alles andere in einem Workspace: Versanddomains, API-Schlüssel, Kontakte, Kontaktlisten, Kampagnen, Vorlagen, Webhooks und mehr.
Basis-URL
Jede Anfrage geht an die Basis-URL der Version 2:
https://api.emailit.com/v2Die Pfade in dieser Referenz sind relativ zu ihr. POST /emails bedeutet zum Beispiel POST https://api.emailit.com/v2/emails.
Erste Anfrage senden
Diese Anfrage sendet eine E-Mail. Ersetzen Sie den Absender durch eine Adresse auf einer verifizierten Versanddomain und setzen Sie EMAILIT_API_KEY auf einen Ihrer API-Schlüssel.
curl https://api.emailit.com/v2/emails \
-H "Authorization: Bearer $EMAILIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up.</p>"
}'import { Emailit } from '@emailit/node';
const emailit = new Emailit(process.env.EMAILIT_API_KEY);
const email = await emailit.emails.send({
from: 'Acme <hello@acme.com>',
to: 'ada@example.com',
subject: 'Welcome to Acme',
html: '<p>Thanks for signing up.</p>',
});import os
from emailit import EmailitClient
client = EmailitClient(os.environ["EMAILIT_API_KEY"])
email = client.emails.send({
"from": "Acme <hello@acme.com>",
"to": "ada@example.com",
"subject": "Welcome to Acme",
"html": "<p>Thanks for signing up.</p>",
})Die Antwort ist das neue E-Mail-Objekt mit seiner ID (em_…) und dem Status accepted. Alle Optionen finden Sie unter E-Mail senden.
Authentifizierung
Übergeben Sie einen API-Schlüssel oder ein OAuth-Zugriffstoken im Header Authorization:
Authorization: Bearer secret_••••••••••••••••••••••••••••••••API-Schlüssel beginnen mit secret_ und gehören zu einem Workspace. Ein Schlüssel hat den Scope full (alle Endpunkte) oder den Scope sending (nur Sende-Endpunkte), und ein reiner Sende-Schlüssel lässt sich auf eine Versanddomain beschränken. Anfragen ohne gültigen Schlüssel schlagen mit 401 fehl. Siehe Authentifizierung.
Anfragen und Antworten
- JSON rein, JSON raus. Senden Sie Anfrage-Bodys als JSON mit
Content-Type: application/json. Ein Body, der kein gültiges JSON ist, gibt400mit der MeldungInvalid JSON in request bodyzurück. Der Anfrage-Body darf höchstens 50 MB groß sein. - Methoden.
GETliest,POSTerstellt und aktualisiert,DELETElöscht. Die API verwendet wederPUTnochPATCH. - Objekte. Jedes Objekt hat ein Feld
object, das seinen Typ nennt (email,domain,api_key,audience,subscriber,contact, …), und eineid. - Zeitstempel. Datumsangaben sind ISO-8601-Strings in UTC mit Mikrosekundengenauigkeit, zum Beispiel
2026-10-01T09:30:12.482913Z. Nicht gesetzte Felder sindnull. - Listen. Listen-Endpunkte sind paginiert, und die meisten akzeptieren Filter und Sortierung. Siehe Paginierung und Filtern.
- Fehler. Fehlgeschlagene Anfragen geben einen
4xx- oder5xx-Statuscode und einen JSON-Body zurück, der das Problem erklärt. Siehe Fehler.
Objekt-IDs
IDs sind Strings aus einem Typpräfix und 27 Buchstaben und Ziffern, zum Beispiel em_4KYof1ZzXndZE2VPi0DgULiekG8. Bei IDs wird zwischen Groß- und Kleinschreibung unterschieden, und sie sind grob nach Erstellungszeitpunkt sortiert.
| Präfix | Objekt | Präfix | Objekt |
|---|---|---|---|
em_ |
aud_ |
Kontaktliste | |
dom_ |
Versanddomain | sub_ |
Abonnent |
key_ |
API-Schlüssel | con_ |
Kontakt |
tem_ |
Vorlage | cmp_ |
Kampagne |
sup_ |
Sperrung | frm_ |
Formular |
wh_ |
Webhook | fsub_ |
Formulareinsendung |
whr_ |
Webhook-Anfrage | aut_ |
Automatisierung |
evt_ |
Event | aur_ |
Automatisierungsdurchlauf |
dmr_ |
DMARC-Bericht | ev_ |
E-Mail-Verifizierung |
evl_ |
Verifizierungsliste |
Einige Ressourcen akzeptieren im Pfad auch eine lesbare Kennung. Domains, API-Schlüssel, Kontaktlisten, Kampagnen und Webhooks akzeptieren ihren Namen (GET /domains/acme.com). Kontakte und Sperrungen akzeptieren eine E-Mail-Adresse, Abonnenten die E-Mail-Adresse des Kontakts. Kodieren Sie Namen und Adressen mit Sonderzeichen für die URL. Domains, die vor der Umstellung auf dom_-IDs erstellt wurden, behalten ihre sd_- oder sed_-ID, und diese IDs funktionieren weiterhin.
Versionierung
Die aktuelle Version ist v2, und sie ist Teil der Basis-URL. Neue Felder und Endpunkte kommen ohne Versionswechsel zu v2 hinzu. Schreiben Sie Clients deshalb so, dass sie unbekannte Felder ignorieren. Siehe Versionierung.
Ressourcen
Eine Tabelle aller Endpunkte mit dem jeweils benötigten Scope finden Sie unter Alle Endpunkte.
SDKs
Offizielle Bibliotheken kapseln die API für die gängigsten Sprachen. Sie sind Open Source auf GitHub.
| Sprache | Paket | Anleitung |
|---|---|---|
| Node.js | @emailit/node |
Node.js |
| Python | emailit |
Python |
| PHP | emailit/emailit-php |
PHP |
| Laravel | emailit/emailit-laravel |
Laravel |
| Ruby | emailit |
Ruby on Rails |
| Go | github.com/emailit/emailit-go/v2 |
Go |
| Java | com.emailit |
Java |
| .NET | Emailit |
.NET |
| Rust | emailit |
SDKs |
Webhooks und Events
Statt regelmäßig nach Statusänderungen abzufragen, registrieren Sie einen Webhook. Emailit sendet dann signierte Batches von Events an Ihren Endpunkt, sobald sie eintreten: Zustellungen, Bounces, Öffnungen, Klicks, neue Kontakte und mehr. Dieselben Events stehen auch über Events auflisten zur Verfügung. Die vollständige Liste finden Sie unter Event-Typen.
MCP-Server
Mit dem gehosteten MCP-Server unter https://api.emailit.com/mcp können KI-Assistenten wie ChatGPT, Claude, Cursor, Codex und Grok diese API in Ihrem Namen aufrufen: 109 Tools decken alle Ressourcen auf dieser Seite ab. Assistenten melden sich per OAuth an oder verwenden einen API-Schlüssel, mit denselben Scopes. Siehe MCP-Server und die Tool-Referenz.