ドキュメント本文へスキップ
API

テンプレートの一覧

接続上のすべてのテンプレートを新しい順に、キーセットページングで返します。

GETapi.openemail.uk/templates

実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。

GET /templates

接続上のすべてのテンプレートを新しい順に、キーセットページングで返します。

2 つのエンジン

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

テンプレートとは一度保存して何度も送る本文であり、書いた人にではなく接続に属します。ワークスペースキーは同僚と同じテンプレートを見ますし、作者のアカウントを削除してもテンプレートは道連れになりません。

engine: "blocks" は、ノード種別が @react-email/components のエクスポート(SectionRowColumnContainerTextHeadingButtonLinkImgHrMarkdownCodeBlockCodeInline)であり、props がそれらコンポーネント自身の props であるツリーを保存します。投入時に検証されるので、不正なノードは後々の壊れたメールではなく、書き込んだ呼び出しの 422 になります。

engine: "html" は、すでに手元にあるマークアップを保存し、バージョンの公開時に一度だけサニタイズします。テンプレートが自分のリポジトリにある react-email コンポーネントである場合に使うのはこちらです。自分のビルドの中で @react-email/render を使ってコンポーネントをレンダリングし、その結果を POST してください。JSX エンドポイントは存在せず、今後も作られません。API が HTML を受け取るのは、メールクライアントが読むものが HTML だからであり、呼び出し側のコンポーネントを実行すれば、誰も必要としないサンドボックスを抱え込むことになります。

宣言する場所値を入れる人送信時に欠けていた場合
`slots`テンプレートを編集する人そのスロット自身の default が描画されます
`props`送信する人missing_template_prop、422 となり、メールは出ません

どちらも本文と件名の中では {{key}} と書き、どちらも kindtexturlimage)を持ちます。これが、値を差し込むときのエスケープ方法を決めます。どこにも宣言されていないキーは公開時に失敗します。スキームが httphttpsmailto のいずれでもない url の値は、描画されずに拒否されます。

公開されたバージョンは凍結されます。公開済みテンプレートの本文を編集すると、実稼働の送信が解決する対象を書き換えるのではなく、新しい下書きが作られます。そのため、同僚が文面を書き直しても、あなたのコードがすでに送っているものは変わりません。version を固定しておけば、その同僚が公開しても変わりません。

templates:read が必要です。limit は 100 まで、statusdraftactivearchived で絞り込み、cursor は不透明な値です。自分で組み立てず、渡された nextCursor をそのまま返してください。

curl
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}

publishedVersionversion を指定しない送信が解決する対象で、latestVersion はその上に載っている下書きです。両者が異なるということは、誰かが編集して公開していないという意味です。エラーではありませんが、デプロイログに出す価値はあります。

一覧の 1 行はメタデータです。宣言された slotsprops は単体取得で返ります。何を渡すべきか知る必要があるときは、そちらを呼んでください。