Vorlagen
Vorlagenversionen erstellen, eine pro Alias veröffentlichen und beim Senden verwenden.
Vorlage erstellen
Erstellt eine Vorlagenversion. Versionen mit demselben alias gehören zur selben Vorlage, und pro Alias ist jeweils nur eine Version veröffentlicht. Wenn Sie eine E-Mail senden und template auf einen Alias setzen, verwendet Emailit die veröffentlichte Version. Erfordert einen API-Schlüssel mit dem Scope full.
/templatesAnfrage-Body
namestringErforderlichName der Vorlage, der in der Weboberfläche angezeigt wird. Bis zu 191 Zeichen.
aliasstringErforderlichKennung, die die Versionen einer Vorlage zusammenfasst. Bis zu 191 Zeichen; nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche (^[a-z0-9_-]+$).
Verwendet noch keine Vorlage diesen Alias, wird die neue Version sofort veröffentlicht. Existiert der Alias bereits, wird die neue Version unveröffentlicht erstellt (published_at ist null) und Sie veröffentlichen sie mit Vorlage veröffentlichen.
fromstringStandardabsender, zum Beispiel Acme <hello@acme.com>. Bis zu 191 Zeichen.
subjectstringStandard-Betreffzeile. Bis zu 191 Zeichen. Kann Variablen der Template-Sprache Temple enthalten, etwa {{ first_name }}.
reply_tostring | string[]Reply-To-Adresse oder ein Array von Adressen. Jeder Wert muss eine gültige E-Mail-Adresse sein.
htmlstringHTML-Inhalt.
textstringNur-Text-Inhalt.
sourcestringQuelldokument des Editors, zum Beispiel das Dragit-JSON einer im Drag-and-drop-Editor erstellten Vorlage. Wird unverändert gespeichert. Bei editor: "mjml" das MJML: Emailit validiert es, speichert es als MJML-Dokument und kompiliert daraus html.
editorstringEditor, zu dem die Vorlage gehört: html (Standardwert), text, dragit oder tiptap. mjml ist in der Alpha und steht nur dem Emailit-Team offen; andere Anfragen erhalten 403 mit error: "mjml_alpha". Siehe MJML-Editoren und API.
Rückgabe
Gibt 201 Created mit der Vorlage in data und einer Bestätigung in message zurück. Die Vorlage enthält html, text und source. Emailit sendet außerdem das Webhook-Event template.created.
MJML-Vorlagen geben außerdem ein Objekt mjml mit den Versionen des Dokuments zurück. Ungültiges MJML gibt 422 mit errors.source und diagnostics zurück; siehe Validierung.
Besteht ein Feld die Validierung nicht, lautet die Antwort 400 mit message: "Validation failed" und einem Objekt errors, dessen Schlüssel die Felder sind, zum Beispiel bei einem Alias mit Großbuchstaben oder einer ungültigen Adresse in reply_to. Ein fehlendes name oder alias oder ein nicht erlaubter Wert für editor gibt stattdessen den Standard-Validierungsfehler 400 mit einem Array details zurück. Siehe Fehler.
{
"data": {
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": null,
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": null,
"html": "<h1>Welcome, {{ first_name }}</h1>",
"text": null,
"source": null,
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"created_at": "2026-09-30T10:30:00.482119Z",
"updated_at": "2026-09-30T10:30:00.482119Z"
},
"message": "Template was successfully created."
}{
"message": "Validation failed",
"errors": {
"alias": ["Alias must contain only lowercase letters (a-z), numbers (0-9), underscores (_), and hyphens (-)"]
}
}Vorlage abrufen
Gibt eine Vorlagenversion einschließlich ihres Inhalts zurück und listet die anderen Versionen desselben Alias in versions auf. Vorlagen werden nur per ID gesucht, nicht per Alias. Erfordert einen API-Schlüssel mit dem Scope full.
/templates/:idPfadparameter
idstringErforderlichID der Vorlage, zum Beispiel tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.
Rückgabe
Gibt 200 OK mit der Vorlage in data zurück. Neben den Feldern der Vorlage enthält die Antwort ein Array versions mit id, name, published_at, created_at und updated_at jeder anderen Version mit demselben Alias, die neueste zuerst. Die veröffentlichte Version ist die, deren published_at nicht null ist.
Gibt 404 mit message: "Template not found" zurück, wenn die ID in Ihrem Workspace nicht existiert.
{
"data": {
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": ["support@acme.com"],
"html": "<h1>Welcome, {{ first_name }}</h1>",
"text": "Welcome, {{ first_name }}",
"source": null,
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"created_at": "2026-09-28T08:12:45.103882Z",
"updated_at": "2026-09-30T10:30:00.482119Z",
"versions": [
{
"id": "tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f",
"name": "Welcome email (October)",
"published_at": null,
"created_at": "2026-09-30T14:02:11.550731Z",
"updated_at": "2026-09-30T14:02:11.550731Z"
}
]
}
}{
"message": "Template not found"
}Vorlage aktualisieren
Aktualisiert eine Vorlagenversion. Senden Sie nur die Felder, die Sie ändern möchten. Die Version behält ihren Veröffentlichungsstatus: Eine veröffentlichte Version bleibt veröffentlicht, ein Entwurf bleibt ein Entwurf. Erfordert einen API-Schlüssel mit dem Scope full.
/templates/:idPfadparameter
idstringErforderlichID der Vorlage, zum Beispiel tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.
Anfrage-Body
namestringName der Vorlage. Bis zu 191 Zeichen.
aliasstringNeuer Alias. Bis zu 191 Zeichen; nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche. Der Alias darf nicht bereits von einer anderen Vorlage verwendet werden.
fromstringStandardabsender, zum Beispiel Acme <hello@acme.com>. Bis zu 191 Zeichen. Senden Sie einen leeren String, um den Wert zu löschen.
subjectstringStandard-Betreffzeile. Bis zu 191 Zeichen. Senden Sie einen leeren String, um den Wert zu löschen.
reply_tostring | string[]Reply-To-Adresse oder Array von Adressen. Senden Sie einen leeren String, um den Wert zu löschen.
htmlstringHTML-Inhalt.
textstringNur-Text-Inhalt.
sourcestringQuelldokument des Editors, zum Beispiel Dragit-JSON. Bei einer MJML-Vorlage das vollständige MJML: Emailit validiert es und kompiliert html neu, und ein übergebenes html wird ignoriert.
editorstringhtml, text, dragit oder tiptap. mjml ist in der Alpha und steht nur dem Emailit-Team offen; wer den Inhalt einer MJML-Vorlage ohne MJML-Zugriff ändert, erhält 403 mit error: "mjml_alpha". Umbenennen oder Veröffentlichen funktioniert für alle. Siehe MJML-Editoren und API.
Rückgabe
Gibt 200 OK mit der aktualisierten Vorlage in data und einer Bestätigung in message zurück. Emailit sendet außerdem das Webhook-Event template.updated.
Gibt 400 mit message: "Validation failed" und einem Objekt errors zurück, wenn ein Wert ungültig ist, zum Beispiel "Alias already exists". Werte mit mehr als 191 Zeichen oder ein unbekannter editor geben den Standard-Validierungsfehler 400 zurück. Gibt 404 zurück, wenn die Vorlage nicht existiert.
Damit diese Version für den Versand verwendet wird, rufen Sie Vorlage veröffentlichen auf.
{
"data": {
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome aboard, {{ first_name }}",
"reply_to": ["support@acme.com"],
"html": "<h1>Welcome, {{ first_name }}</h1>",
"text": "Welcome, {{ first_name }}",
"source": null,
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"created_at": "2026-09-28T08:12:45.103882Z",
"updated_at": "2026-10-01T09:15:27.640000Z"
},
"message": "Template was successfully updated."
}{
"message": "Validation failed",
"errors": {
"alias": ["Alias already exists"]
}
}{
"message": "Template not found"
}Vorlagen auflisten
Gibt die veröffentlichte Version jeder Vorlage zurück, die neuesten zuerst. Unveröffentlichte Versionen werden nicht aufgelistet; um alle Versionen eines Alias zu sehen, rufen Sie eine Vorlage ab. Erfordert einen API-Schlüssel mit dem Scope full.
/templatesQuery-Parameter
pageintegerSeitennummer, beginnend bei 1. Standardwert: 1.
per_pageintegerVorlagen pro Seite, von 1 bis 100. Standardwert: 25.
include_contentbooleanSetzen Sie den Wert auf true, um html, text und source für jede Vorlage einzuschließen. Standardmäßig weggelassen, damit die Antworten klein bleiben.
filter[name]stringTeilübereinstimmung mit Name oder Alias der Vorlage, ohne Beachtung der Groß-/Kleinschreibung.
filter[alias]stringExakter Alias.
filter[editor]stringEditor: html, text, dragit, tiptap oder mjml (Alpha).
matchstringall (Standardwert) verlangt, dass jeder Filter key.condition zutrifft. Bei or genügt einer davon. Siehe Filtern und Sortieren.
sortstringSortierschlüssel: name, alias, created_at (Standardwert), updated_at oder published_at.
orderstringSortierrichtung: asc oder desc (Standardwert).
Filter
Listenfilter sind Query-Parameter der Form key.condition=value auf einer einzigen Ebene. match, order, direction und die Bedingungen pro Typ finden Sie unter Filtern und Sortieren.
Filterschlüssel
| Schlüssel | Typ | Bedingungen | Hinweise |
|---|---|---|---|
name | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
alias | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
editor | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
subject | string | exact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty | |
created_at | date | exact, before, after, empty, not_empty |
Sortierschlüssel
Dieser Endpunkt sortiert mit sort, gesetzt auf einen dieser Schlüssel, und order, gesetzt auf asc oder desc (order=<key> gibt hier 400 zurück): name, alias, editor, subject, created_at
Bei diesem Endpunkt akzeptiert order nur asc oder desc. Übergeben Sie den Sortierschlüssel in sort, zum Beispiel sort=name&order=asc.
Rückgabe
Gibt 200 OK mit den Vorlagen in data und den Paginierungsfeldern total_records, per_page, current_page und total_pages zurück. Jede Vorlage enthält total_versions, die Anzahl der Versionen mit demselben Alias.
{
"data": [
{
"id": "tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a",
"name": "Welcome email",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": ["support@acme.com"],
"editor": "html",
"published_at": "2026-09-30T10:30:00.482119Z",
"preview_url": null,
"total_versions": 3,
"created_at": "2026-09-28T08:12:45.103882Z",
"updated_at": "2026-09-30T10:30:00.482119Z"
}
],
"total_records": 1,
"per_page": 25,
"current_page": 1,
"total_pages": 1
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Invalid API key"
}Vorlage veröffentlichen
Veröffentlicht eine Vorlagenversion und zieht in derselben Transaktion die Veröffentlichung aller anderen Versionen mit demselben Alias zurück. So bringen Sie einen neuen Entwurf live oder kehren zu einer früheren Version zurück. Erfordert einen API-Schlüssel mit dem Scope full.
/templates/:id/publishPfadparameter
idstringErforderlichID der zu veröffentlichenden Version, zum Beispiel tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f.
Anfrage-Body
Kein Body. Wenn Sie eine bereits veröffentlichte Version erneut veröffentlichen, wird published_at neu gesetzt.
Rückgabe
Gibt 200 OK mit der veröffentlichten Vorlage in data und einer Bestätigung in message zurück. Gibt 404 zurück, wenn die Vorlage nicht existiert.
Emailit sendet das Webhook-Event template.updated für die veröffentlichte Version und je eines für jede Version, deren Veröffentlichung zurückgezogen wurde.
{
"data": {
"id": "tem_2xKyB4qLm7RtV9sNd3HwEa6uC1f",
"name": "Welcome email (October)",
"alias": "welcome-email",
"from": "Acme <hello@acme.com>",
"subject": "Welcome to Acme, {{ first_name }}",
"reply_to": ["support@acme.com"],
"html": "<h1>Welcome, {{ first_name }}</h1><p>Here is your October guide.</p>",
"text": "Welcome, {{ first_name }}. Here is your October guide.",
"source": null,
"editor": "html",
"published_at": "2026-10-01T09:20:04.118502Z",
"preview_url": null,
"created_at": "2026-09-30T14:02:11.550731Z",
"updated_at": "2026-10-01T09:20:04.118000Z"
},
"message": "Template was successfully published."
}{
"message": "Template not found"
}Vorlage löschen
Löscht eine Vorlagenversion endgültig. Andere Versionen desselben Alias bleiben erhalten. Erfordert einen API-Schlüssel mit dem Scope full.
/templates/:idPfadparameter
idstringErforderlichID der Vorlage, zum Beispiel tem_2xKx7M2c9wQe3kHhJ8sVtY1pZ0a.
Rückgabe
Gibt 200 OK mit data: null und einer Bestätigung in message zurück. Emailit sendet das Webhook-Event template.deleted mit der gelöschten Version. Gibt 404 zurück, wenn die Vorlage nicht existiert.
Wenn Sie die veröffentlichte Version löschen, ist für diesen Alias keine Version veröffentlicht, bis Sie eine andere veröffentlichen, und das Senden mit diesem Alias schlägt fehl. Das Löschen eines Entwurfs wirkt sich nicht auf die veröffentlichte Version aus. Das Löschen lässt sich nicht rückgängig machen.
{
"data": null,
"message": "Template was successfully deleted."
}{
"message": "Template not found"
}