Přejít na dokumentaci
API

Výpis šablon

Všechny šablony na připojení, od nejnovější, stránkované metodou keyset.

GETapi.openemail.uk/templates

Spustí skutečné volání proti vašemu pracovnímu prostoru, s vaším vlastním klíčem.

GET /templates

Všechny šablony na připojení, od nejnovější, stránkované metodou keyset.

Dva enginy

shell
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"

Šablona je tělo uložené jednou a odeslané mnohokrát a patří PŘIPOJENÍ, ne tomu, kdo ji napsal. Klíč pracovního prostoru vidí tytéž šablony jako kolega a smazání účtu autora je s sebou nevezme.

engine: "blocks" ukládá strom, jehož druhy uzlů jsou exporty z @react-email/components (Section, Row, Column, Container, Text, Heading, Button, Link, Img, Hr, Markdown, CodeBlock a CodeInline) a jehož props jsou vlastní props těchto komponent. Validuje se při zápisu, takže špatný uzel je 422 na volání, které ho zapsalo, a ne rozbitý e-mail později.

engine: "html" ukládá značkování, které už máte, sanitizované jednou při publikování verze. Po tomhle sáhněte, když jsou vaše šablony react-email komponenty žijící ve vašem vlastním repozitáři: vykreslete komponentu pomocí @react-email/render ve svém buildu a výsledek odešlete. Žádný JSX endpoint neexistuje a existovat nebude. API přijímá HTML, protože HTML je to, co čte poštovní klient, a spouštění komponenty volajícího by znamenalo sandbox, který nikdo nepotřebuje.

Deklarováno jakoVyplňujeChybí při odeslání
`slots`kdokoli, kdo šablonu upravujevykreslí se vlastní default daného slotu
`props`kdokoli, kdo odesílámissing_template_prop, 422, a žádná pošta neodejde

Obojí se v těle i v předmětu zapisuje jako {{key}} a obojí nese kind (text, url nebo image), který rozhoduje, jak se hodnota při dosazení escapuje. Klíč, který nikde není deklarovaný, selže při publikování; hodnota typu url, jejíž schéma není http, https ani mailto, se odmítne, místo aby se vykreslila.

Publikovaná verze je zmrazená. Úprava těla publikované šablony vytvoří nový koncept, místo aby změnila to, co vyhodnocují živá odeslání, takže kolega přepisující text nemůže změnit, co už váš kód odesílá, a zafixování version znamená, že to nezmění ani ve chvíli, kdy publikuje.

Příklad

Vyžaduje templates:read. limit jde až do 100, status zužuje na draft, active nebo archived a cursor je neprůhledný, takže vracejte nextCursor, který jste dostali, místo abyste si nějaký sestavovali.

curl
curl "$OE/templates?limit=25&status=active" -H "$AUTH"
Odpověď
{  "object": "list",  "data": [    {      "object": "template",      "id": "tpl_9c1f0a4b7e05d3862c1f0a44",      "name": "Order shipped",      "slug": "order-shipped",      "description": null,      "status": "active",      "publishedVersion": 3,      "latestVersion": 4,      "createdAt": "2026-08-01T09:12:44.000Z",      "updatedAt": "2026-08-28T16:03:10.000Z"    }  ],  "hasMore": false,  "nextCursor": null}

publishedVersion je to, co vyhodnotí odeslání bez version, a latestVersion je koncept ležící nad tím. Pokud se obě liší, někdo upravoval a nepublikoval. Není to chyba a stojí za to ji ukázat v logu nasazení.

Řádek jsou metadata. Deklarované slots a props se vracejí z načtení jedné šablony, což je volání, které udělejte, když potřebujete vědět, co jí předat.