Llistar les plantilles
Totes les plantilles de la connexió, les més noves primer, paginades per keyset.
Executa la crida real contra el teu espai de treball, amb la teva pròpia clau.
GET /templates
Totes les plantilles de la connexió, les més noves primer, paginades per keyset.
Dos motors
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"Una plantilla és un cos desat un cop i enviat moltes vegades, i pertany a la CONNEXIÓ i no pas a qui la va escriure. Una clau de l'espai de treball veu les mateixes plantilles que un company, i esborrar el compte de l'autor no se les emporta.
engine: "blocks" desa un arbre els tipus de node del qual són les exportacions de @react-email/components (Section, Row, Column, Container, Text, Heading, Button, Link, Img, Hr, Markdown, CodeBlock i CodeInline) i les props del qual són les d'aquests mateixos components. Es valida a l'entrada, de manera que un node incorrecte és un 422 a la crida que l'ha escrit i no pas un correu espatllat més endavant.
engine: "html" desa el marcatge que ja tens, sanejat un sol cop quan es publica la versió. És el que has de fer servir quan les teves plantilles són components react-email que viuen al teu propi repositori: renderitza el component amb @react-email/render a la teva pròpia compilació i envia'n el resultat. No hi ha cap endpoint de JSX i no n'hi haurà cap. L'API accepta HTML perquè l'HTML és el que llegeix un client de correu, i executar el component de qui truca compraria un sandbox que ningú no necessita.
| Declarat com a | Ho omple | Si falta en enviar |
|---|---|---|
| `slots` | qui edita la plantilla | es renderitza el default del mateix slot |
| `props` | qui envia | missing_template_prop, un 422, i no surt cap correu |
Tots dos s'escriuen com a {{key}} al cos i a l'assumpte, i tots dos porten un kind (text, url o image) que decideix com s'escapa el valor en substituir-lo. Una clau que no declara res falla en publicar; un valor url l'esquema del qual no sigui http, https o mailto es rebutja en comptes de renderitzar-se.
Una versió publicada queda congelada. Editar el cos d'una plantilla publicada encunya un esborrany nou en comptes de canviar el que resolen els enviaments en producció, de manera que un company que reescrigui el text no pot canviar el que el teu codi ja envia, i fixar version vol dir que tampoc no ho podrà canviar quan publiqui.
Exemple
Necessita templates:read. limit arriba a 100, status limita a draft, active o archived, i cursor és opac, així que torna a passar el nextCursor que t'han donat en comptes de construir-ne un.
curl "$OE/templates?limit=25&status=active" -H "$AUTH"{ "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 és el que resol un enviament sense version i latestVersion és l'esborrany que hi ha al damunt. Que tots dos difereixin vol dir que algú ha editat i no ha publicat. No és cap error, i val la pena mostrar-ho en un registre de desplegament.
Una fila són metadades. Els slots i props declarats tornen amb una recuperació, que és la crida que cal fer quan necessites saber què passar-li.