Zur Dokumentation springen
API

Ein Template abrufen

Nimmt die id oder den Slug. Die neueste Version kommt vollständig zurück, Body inklusive.

GETapi.openemail.uk/templates/{id}

Führt den echten Aufruf gegen Ihren Workspace aus, mit Ihrem eigenen Schlüssel.

GET /templates/{id}

Nimmt die id oder den Slug. Die neueste Version kommt vollständig zurück, Body inklusive.

Beispiel

Benötigt templates:read. Ids tragen ein tpl_-Präfix und Slugs können das nicht, die beiden Vokabulare können auf diesem Pfad also nicht kollidieren.

curl
curl "$OE/templates/order-shipped" -H "$AUTH"
Response
{  "object": "template",  "id": "tpl_9c1f0a4b7e05d3862c1f0a44",  "name": "Order shipped",  "slug": "order-shipped",  "status": "active",  "publishedVersion": 3,  "latestVersion": 4,  "subject": "Order {{orderId}} is on its way",  "engine": "html",  "slots": [],  "props": [{ "key": "orderId", "kind": "text", "required": true, "default": null }],  "latest": {    "object": "template_version",    "id": "tplv_5d31c2a8…",    "templateId": "tpl_9c1f0a4b7e05d3862c1f0a44",    "version": 4,    "state": "draft",    "engine": "html",    "subject": "Order {{orderId}} is on its way",    "slots": [],    "props": [{ "key": "orderId", "kind": "text", "required": true, "default": null }],    "document": null,    "html": "<p>Hello {{customer}}, {{orderId}} left the warehouse.</p>",    "createdAt": "2026-08-28T16:03:10.000Z",    "publishedAt": null  },  "createdAt": "2026-08-01T09:12:44.000Z",  "updatedAt": "2026-08-28T16:03:10.000Z"}

latest ist die NEUESTE Version, also der Entwurf, wenn es eine unveröffentlichte Änderung gibt. Die Felder daneben (subject, engine, slots, props) beschreiben die VERÖFFENTLICHTE, denn das ist es, was ein Versand auflöst.

document ist der Blockbaum und unter engine: "html" null; html ist das Markup wie eingereicht und unter engine: "blocks" null. Nur ein einzelner Abruf führt eines von beiden mit. Eine Versionsliste, in der jede Version einen vollständigen Baum trägt, ist eine Nutzlast, um die niemand gebeten hat.