Wypisz reguły
Każda reguła na połączeniu, w kolejności, w jakiej są sprawdzane.
Uruchamia prawdziwe wywołanie na twojej przestrzeni roboczej, twoim własnym kluczem.
GET /rules
Każda reguła na połączeniu, w kolejności, w jakiej są sprawdzane.
Jak działa reguła
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"Reguła to lista warunków wobec przychodzącej wiadomości i lista akcji do wykonania na wszystkim, co do nich pasuje. Reguły należą do POŁĄCZENIA, a nie do tego, kto je napisał. Klucz przestrzeni roboczej widzi te same reguły co kolega z zespołu, a usunięcie konta autora ich nie zabiera.
Połączenie mieści 100 reguł, a każda z nich najwyżej 20 warunków i 10 akcji. To zabezpieczenia przed rozbieganym skryptem, a nie limity planu: sto pierwsza reguła to rule_limit_reached, 422, a dwudziesty pierwszy warunek odrzuca schemat, zanim cokolwiek zostanie zapisane.
match: "all" łączy warunki spójnikiem AND, match: "any" — OR, a negate na pojedynczym warunku to NOT. Nie ma zagnieżdżonego drzewa logicznego: (A and B) or C to dwie reguły. To decyzja, a nie pójście na skróty. Rekurencyjnego schematu nie da się opisać w dokumencie OpenAPI przy $refStrategy: "none", nie da się podać klientowi MCP jako JSON Schema i jest to dokładnie ten kształt, który już wcześniej wysadził w tym repozytorium limit instancjonowania TypeScriptu. Dwie reguły to też sposób, w jaki człowiek odczyta to pół roku później.
Każda włączona reguła na połączeniu jest sprawdzana wobec każdej przychodzącej wiadomości, w kolejności position, od najmniejszej. Sprawdzanie kończy się po pasującej regule z stopProcessing: true i nic poniżej niej nie jest brane pod uwagę. Gdy dwie pasujące reguły wskazują folder, wygrywa PÓŹNIEJSZA i wiadomość ląduje w jej folderze, co jest odczytem, jaki daje numerowana lista, i jedyną rzeczą o kolejności wartą powiedzenia wprost, zamiast zostawienia jej do odkrycia.
Reguły zawodzą OTWARCIE. Warunek napisany przez starszego klienta, wartość, która nie skompiluje się do wzorca, baza, która nie odpowiada: każde z nich jest pomijane, a wiadomość zostaje doręczona tak, jak zostałaby doręczona, z awarią zapisaną przy uruchomieniu. Silnik reguł, który rzuca wyjątkiem, to wiadomość, która nigdy nie dociera; silnik reguł, który zostaje pominięty, to jedna wiadomość w złym folderze.
Nic nie działa wstecz. Reguła decyduje o poczcie przychodzącej po tym, jak powstała, i celowo nie ma endpointu, który zastosowałby ją do skrzynki, którą już masz. Zobacz POST /rules/{id}/test, który odpowiada na pytanie, o które ludziom naprawdę chodzi, gdy po tamto sięgają.
Przykład
Wymaga rules:read. limit sięga 100, cursor jest nieprzejrzysty (odeślij nextCursor, który dostałeś), a enabled zawęża do jednej strony przełącznika.
curl "$OE/rules?limit=25&enabled=true" -H "$AUTH"{ "object": "list", "data": [ { "object": "rule", "id": "rul_7f3a1c94e05d3862c1f0a44b", "name": "Receipts to their own label", "description": null, "enabled": true, "position": 0, "match": "all", "conditions": [ { "field": "from_domain", "op": "matches", "value": "*.stripe.com", "negate": false }, { "field": "subject", "op": "contains", "value": "receipt", "negate": false } ], "actions": [ { "type": "label", "value": "USER_RECEIPTS" }, { "type": "archive" } ], "stopProcessing": true, "lastMatchedAt": "2026-08-29T11:04:12.000Z", "matchCount": 148, "createdAt": "2026-08-01T09:00:00.000Z", "updatedAt": "2026-08-20T16:31:00.000Z" } ], "hasMore": false, "nextCursor": null}enabled przyjmuje stringi true i false, a nie skoercowany boolean, i to nie jest czepialstwo: Boolean("false") to true, więc skoercowane zapytanie odpowiedziałoby na „pokaż moje wyłączone reguły” tymi włączonymi i wyglądałoby na działające.
Kolejność listy to kolejność sprawdzania, więc czytanie jej z góry na dół to czytanie tego, co dzieje się z wiadomością. position nie jest unikalne i nie jest identyfikatorem (przenumerowuje je POST /rules/reorder), więc trzymaj się reguły po jej identyfikatorze rul_, a nigdy po tym, gdzie akurat stoi.
matchCount i lastMatchedAt są zliczane w bazie w miarę napływu poczty, a nie odczytywane i przepisywane, więc dwie wiadomości, które wpadną naraz, nie zgubią między sobą zliczenia. Reguła, która nigdy nie odpaliła, pokazuje 0 i null, i to jest odpowiedź warta działania, gdy ktoś mówi, że reguła nie działa.