# 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:

```text
https://api.emailit.com/v2
```

Die 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](/de/docs/domains/verification/) und setzen Sie `EMAILIT_API_KEY` auf einen Ihrer [API-Schlüssel](/de/docs/developers/api-keys/).

**cURL**

```bash
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>"
  }'
```

**Node.js**

```javascript
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>',
});
```

**Python**

```python
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](/de/docs/api-reference/emails/send/).

## Authentifizierung

Übergeben Sie einen API-Schlüssel oder ein OAuth-Zugriffstoken im Header `Authorization`:

```http
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](/de/docs/api-reference/authentication/).

## 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, gibt `400` mit der Meldung `Invalid JSON in request body` zurück. Der Anfrage-Body darf höchstens 50 MB groß sein.
- **Methoden.** `GET` liest, `POST` erstellt und aktualisiert, `DELETE` löscht. Die API verwendet weder `PUT` noch `PATCH`.
- **Objekte.** Jedes Objekt hat ein Feld `object`, das seinen Typ nennt (`email`, `domain`, `api_key`, `audience`, `subscriber`, `contact`, …), und eine `id`.
- **Zeitstempel.** Datumsangaben sind ISO-8601-Strings in UTC mit Mikrosekundengenauigkeit, zum Beispiel `2026-10-01T09:30:12.482913Z`. Nicht gesetzte Felder sind `null`.
- **Listen.** Listen-Endpunkte sind paginiert, und die meisten akzeptieren Filter und Sortierung. Siehe [Paginierung](/de/docs/api-reference/pagination/) und [Filtern](/de/docs/api-reference/filtering/).
- **Fehler.** Fehlgeschlagene Anfragen geben einen `4xx`- oder `5xx`-Statuscode und einen JSON-Body zurück, der das Problem erklärt. Siehe [Fehler](/de/docs/api-reference/errors/).

## 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_` | E-Mail | `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](/de/docs/api-reference/versioning/).

## Ressourcen

  - [E-Mails](/de/docs/api-reference/emails/): E-Mails senden, Nachrichten und ihren Inhalt abrufen sowie E-Mails planen, stornieren, erneut senden oder weiterleiten.
  - [Domains](/de/docs/api-reference/domains/): Versanddomains hinzufügen, ihre DNS-Einträge abrufen und sie verifizieren.
  - [DMARC-Berichte](/de/docs/api-reference/dmarc/): Aggregierte und forensische DMARC-Berichte einer Domain abrufen oder eigene hochladen.
  - [API-Schlüssel](/de/docs/api-reference/api-keys/): API-Schlüssel eines Workspaces erstellen, umbenennen, neu generieren und löschen.
  - [Kontaktlisten](/de/docs/api-reference/audiences/): Die Abonnentenlisten verwalten, die Kampagnen und Anmeldeformulare nutzen.
  - [Abonnenten](/de/docs/api-reference/audiences/subscribers/): Abonnenten einer Kontaktliste hinzufügen, aktualisieren und entfernen.
  - [Kontakte](/de/docs/api-reference/contacts/): Kontaktprofile und eigene Felder verwalten, einzeln oder gesammelt.
  - [Kampagnen](/de/docs/api-reference/campaigns/): Kampagnen erstellen, ihre Kontaktlisten wählen und sie senden oder planen.
  - [Automatisierungen](/de/docs/api-reference/automations/): Workflows aus Triggern und Schritten aufbauen, ausführen und ihre Durchläufe einsehen.
  - [Formulare](/de/docs/api-reference/forms/): Anmeldeformulare erstellen, veröffentlichen und ihr öffentliches Token rotieren.
  - [Vorlagen](/de/docs/api-reference/templates/): Vorlagenversionen erstellen, pro Alias eine davon veröffentlichen und damit senden.
  - [Sperrungen](/de/docs/api-reference/suppressions/): Die Adressen abrufen und verwalten, an die Emailit nicht sendet.
  - [Webhooks](/de/docs/api-reference/webhooks/): Endpunkte registrieren, die signierte Event-Benachrichtigungen empfangen.
  - [Events](/de/docs/api-reference/events/): Den Event-Stream hinter den Webhooks lesen: Zustellungen, Bounces, Öffnungen und mehr.
  - [E-Mail-Verifizierung](/de/docs/api-reference/email-verifications/): Eine einzelne Adresse in Echtzeit verifizieren.
  - [Verifizierungslisten](/de/docs/api-reference/email-verifications/lists/): Bis zu 10.000 Adressen auf einmal verifizieren und die Ergebnisse exportieren.

Eine Tabelle aller Endpunkte mit dem jeweils benötigten Scope finden Sie unter [Alle Endpunkte](/de/docs/api-reference/endpoints/).

## SDKs

Offizielle Bibliotheken kapseln die API für die gängigsten Sprachen. Sie sind Open Source auf [GitHub](https://github.com/emailit).

| Sprache | Paket | Anleitung |
| --- | --- | --- |
| Node.js | `@emailit/node` | [Node.js](/de/docs/frameworks/nodejs/) |
| Python | `emailit` | [Python](/de/docs/frameworks/python/) |
| PHP | `emailit/emailit-php` | [PHP](/de/docs/frameworks/php/) |
| Laravel | `emailit/emailit-laravel` | [Laravel](/de/docs/frameworks/laravel/) |
| Ruby | `emailit` | [Ruby on Rails](/de/docs/frameworks/rails/) |
| Go | `github.com/emailit/emailit-go/v2` | [Go](/de/docs/frameworks/go/) |
| Java | `com.emailit` | [Java](/de/docs/frameworks/java/) |
| .NET | `Emailit` | [.NET](/de/docs/frameworks/dotnet/) |
| Rust | `emailit` | [SDKs](/de/docs/sdks/) |

## Webhooks und Events

Statt regelmäßig nach Statusänderungen abzufragen, registrieren Sie einen [Webhook](/de/docs/webhooks/). 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](/de/docs/api-reference/events/list/) zur Verfügung. Die vollständige Liste finden Sie unter [Event-Typen](/de/docs/webhooks/event-types/).

## 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](/de/docs/mcp/) und die [Tool-Referenz](/de/docs/mcp/tools/).

## Siehe auch

  - [Authentifizierung](/de/docs/api-reference/authentication/): API-Schlüssel, Scopes, Domain-Beschränkungen und OAuth-Token.
  - [Rate Limits](/de/docs/api-reference/rate-limits/): Versandlimits, Antwort-Header und wie Sie mit Backoff reagieren.
  - [Fehler](/de/docs/api-reference/errors/): Fehlerformate, Statuscodes und häufige Lösungen.
  - [Erste E-Mail senden](/de/docs/quickstart/api/): Ein Schnellstart in Schritten, vom API-Schlüssel bis zum Posteingang.

---
Quelle: https://emailit.com/de/docs/api-reference/
