テンプレートの一覧
接続上のすべてのテンプレートを新しい順に、キーセットページングで返します。
実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。
GET /templates
接続上のすべてのテンプレートを新しい順に、キーセットページングで返します。
2 つのエンジン
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"テンプレートとは一度保存して何度も送る本文であり、書いた人にではなく接続に属します。ワークスペースキーは同僚と同じテンプレートを見ますし、作者のアカウントを削除してもテンプレートは道連れになりません。
engine: "blocks" は、ノード種別が @react-email/components のエクスポート(Section、Row、Column、Container、Text、Heading、Button、Link、Img、Hr、Markdown、CodeBlock、CodeInline)であり、props がそれらコンポーネント自身の props であるツリーを保存します。投入時に検証されるので、不正なノードは後々の壊れたメールではなく、書き込んだ呼び出しの 422 になります。
engine: "html" は、すでに手元にあるマークアップを保存し、バージョンの公開時に一度だけサニタイズします。テンプレートが自分のリポジトリにある react-email コンポーネントである場合に使うのはこちらです。自分のビルドの中で @react-email/render を使ってコンポーネントをレンダリングし、その結果を POST してください。JSX エンドポイントは存在せず、今後も作られません。API が HTML を受け取るのは、メールクライアントが読むものが HTML だからであり、呼び出し側のコンポーネントを実行すれば、誰も必要としないサンドボックスを抱え込むことになります。
| 宣言する場所 | 値を入れる人 | 送信時に欠けていた場合 |
|---|---|---|
| `slots` | テンプレートを編集する人 | そのスロット自身の default が描画されます |
| `props` | 送信する人 | missing_template_prop、422 となり、メールは出ません |
どちらも本文と件名の中では {{key}} と書き、どちらも kind(text、url、image)を持ちます。これが、値を差し込むときのエスケープ方法を決めます。どこにも宣言されていないキーは公開時に失敗します。スキームが http、https、mailto のいずれでもない url の値は、描画されずに拒否されます。
公開されたバージョンは凍結されます。公開済みテンプレートの本文を編集すると、実稼働の送信が解決する対象を書き換えるのではなく、新しい下書きが作られます。そのため、同僚が文面を書き直しても、あなたのコードがすでに送っているものは変わりません。version を固定しておけば、その同僚が公開しても変わりません。
例
templates:read が必要です。limit は 100 まで、status は draft、active、archived で絞り込み、cursor は不透明な値です。自分で組み立てず、渡された nextCursor をそのまま返してください。
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 は version を指定しない送信が解決する対象で、latestVersion はその上に載っている下書きです。両者が異なるということは、誰かが編集して公開していないという意味です。エラーではありませんが、デプロイログに出す価値はあります。
一覧の 1 行はメタデータです。宣言された slots と props は単体取得で返ります。何を渡すべきか知る必要があるときは、そちらを呼んでください。