Een regel testen
Welke van je recente berichten deze regel zou hebben gevangen. Het verandert niets.
Voert de echte aanroep uit op je workspace, met je eigen sleutel.
POST /rules/{id}/test
Welke van je recente berichten deze regel zou hebben gevangen. Het verandert niets.
Voorbeeld
Vereist rules:read. Een proefdraai leest een mailbox en schrijft niets, dus het is geen rules:write-operatie. days staat standaard op 30 en gaat tot 365, limit staat standaard op 50 en gaat tot 200, en threadIds test met naam genoemde threads in plaats van een venster.
curl -X POST "$OE/rules/rul_7f3a1c94e05d3862c1f0a44b/test" -H "$AUTH" \ -H "Content-Type: application/json" \ -d '{ "days": 30, "limit": 50 }'{ "object": "rule_test", "ruleId": "rul_7f3a1c94e05d3862c1f0a44b", "scanned": 50, "matched": 3, "wouldApply": ["label:USER_RECEIPTS", "archive"], "messages": [ { "threadId": "thr_5d31c2a8…", "from": "[email protected]", "subject": "Your receipt", "receivedAt": "2026-08-28T10:00:00.000Z" } ], "warnings": [{ "code": "forward_unverified", "value": "[email protected]" }]}Dezelfde engine die op het afleverpad draait beantwoordt dit. Het is één module, bewust puur (geen database, geen netwerk), zodat het instellingenscherm, de proefdraai en de SMTP-handler het niet oneens kunnen zijn over de vraag of een regel matcht. Een preview die twee keer geschreven is, zijn twee antwoorden op één vraag, en het antwoord dat een mens te zien krijgt is het verkeerde.
Van opzet begrensd: hooguit 200 berichten over hooguit een jaar. Dit draait in een Worker met een tijdsbudget, en een onbegrensde scan is een request dat halverwege sterft zonder iets op te leveren.
Een uitgeschakelde regel kan nog steeds getest worden. Dat is juist de bedoeling: schrijf hem, test hem, schakel hem dan in.
warnings is waar een regel opduikt die wel parseert maar zich niet zal gedragen. Een doorstuuradres dat niemand bevestigd heeft is degene die je tegen zult komen. Een waarschuwing stopt de test nooit: het punt van een proefdraai is om in één doorloop alles te melden wat hij gevonden heeft, niet om bij het eerste probleem te stoppen.
Er is geen “draai dit over mijn mailbox”
Er is bewust geen POST /rules/{id}/run, en die komt er ook niet. Een regel met terugwerkende kracht op een hele mailbox toepassen is onbegrensd, onomkeerbaar en kent geen ongedaan maken (een trash-actie over tien jaar mail is één aanroep zonder tweede kans), en het schrijfpad dat daarvoor nodig zou zijn voegt samen in de opgeslagen thread, waardoor elk aangeraakt bericht als bijwerking van het opruimen boven aan de inbox zou springen.
Dit endpoint is de eerlijke helft van dat verzoek: het beantwoordt "wat zou dit gedaan hebben", en dat is de vraag, waarna je de berichten die je echt bedoelde opbergt met PATCH /threads/{id}.