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

ルールの実行履歴を一覧する

ルールが実際に行ったことを、メッセージごと・ルールごとに 1 行で返します。

GETapi.openemail.uk/rules/runs

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

GET /rules/runs

ルールが実際に行ったことを、メッセージごと・ルールごとに 1 行で返します。

rules:read が必要です。新しい順です。ruleId は 1 つのルールに絞り込み、threadId は「なぜこのメッセージはここに入ったのか」に答えます。

curl
curl "$OE/rules/runs?threadId=thr_5d31c2a8…&limit=25" -H "$AUTH"
レスポンス
{  "object": "list",  "data": [    {      "object": "rule_run",      "id": "rrun_9c1f0a4b7e05d3862c1f0a44",      "ruleId": "rul_7f3a1c94e05d3862c1f0a44b",      "ruleName": "Receipts to their own label",      "threadId": "thr_5d31c2a8…",      "messageId": "msg_c5f21cc6…",      "sender": "[email protected]",      "subject": "Your receipt",      "actions": ["label", "archive"],      "failures": [],      "createdAt": "2026-08-29T11:04:12.000Z"    }  ],  "hasMore": false,  "nextCursor": null}

actions には適用されたものが、failures には拒否されたものが type: reason の形で入ります。注釈付きの 1 つの一覧ではなく別々の一覧なのは、「ルールがアーカイブした」と「ルールがアーカイブしようとした」は別の事実であり、それらを混ぜたログはどちらの問いにも答えられないからです。ここに入るのは素のアクション種別です。値はルール側にあり、それが書き下されている唯一の場所はテストの wouldApply です。

抑制された自動返信もここに現れます。reply: auto-reply suppressed because the message carries List-Id の形で、ここが唯一の場所です。ほかに、意図的に送られなかった返信を表に出すものはなく、「なぜ不在通知はあれに返信しなかったのか」には答えようがありません。

ruleName は読み取り時に join するのではなく行に保存されるので、ルールの名前が変わったり削除されたりした後でもログは正しく読めます。もう存在しないルールを指す行は、宙に浮いた参照ではなく通常の状態です。

送信者ごとに 1 日 1 通という自動返信の制限は、同じテーブル内の claim 行で実施されます。このログはその行を返しません。同じ送信者への 2 通目の不在通知が同じ日に発火しないのは、そのためです。