Llista les regles
Totes les regles de la connexió, en l'ordre en què s'avaluen.
Executa la crida real contra el teu espai de treball, amb la teva pròpia clau.
GET /rules
Totes les regles de la connexió, en l'ordre en què s'avaluen.
Com s'executa una regla
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"Una regla és una llista de condicions sobre un missatge que arriba i una llista d'accions per aplicar a tot el que hi coincideixi. Les regles pertanyen a la CONNEXIÓ i no a qui n'hagi escrit una. Una clau d'espai de treball veu les mateixes regles que veu un company, i eliminar el compte de l'autor no se les emporta.
Una connexió admet 100 regles, i cadascuna admet com a màxim 20 condicions i 10 accions. Són proteccions contra scripts desbocats i no límits de pla: la regla 101 dona rule_limit_reached, un 422, i la condició 21 la rebutja l'esquema abans d'escriure res.
match: "all" combina les condicions amb AND, match: "any" les combina amb OR, i negate en una condició concreta és un NOT. No hi ha cap arbre booleà imbricat: (A and B) or C són dues regles. Això és una decisió i no una drecera. Un esquema recursiu no es pot descriure al document OpenAPI amb $refStrategy: "none", no es pot lliurar a un client MCP com a JSON Schema, i és exactament la forma que ja ha fet petar el sostre d'instanciació de TypeScript en aquest repositori. Dues regles també és com ho llegeix una persona sis mesos després.
Totes les regles activades de la connexió s'avaluen contra cada missatge que arriba, en ordre de position, de menor a major. L'avaluació s'atura després d'una regla coincident que porti stopProcessing: true, i no es considera res del que hi ha per sota. Quan dues regles coincidents anomenen una carpeta, guanya l'ÚLTIMA i el missatge acaba a la seva carpeta, que és la lectura que dona una llista numerada i l'única cosa sobre l'ordre que val la pena dir en comptes de deixar que es descobreixi.
Les regles fallen en OBERT. Una condició escrita per un client més antic, un valor que no compila a patró, una base de dades que no respon: cadascun d'aquests casos s'omet i el missatge es lliura tal com s'hauria lliurat, amb la fallada registrada a l'execució. Un motor de regles que llança una excepció és un missatge que no arriba mai; un motor de regles que s'omet és un missatge a la carpeta equivocada.
Res no és retroactiu. Una regla decideix què passa amb el correu que arriba després que existeixi, i deliberadament no hi ha cap endpoint que n'apliqui una a una bústia que ja tens. Consulta POST /rules/{id}/test, que respon la pregunta que realment fa la gent quan busca això.
Exemple
Necessita rules:read. limit arriba fins a 100, cursor és opac (torna a passar el nextCursor que t'han donat), i enabled limita a un dels dos costats de l'interruptor.
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 accepta les cadenes true i false i no un boolean coaccionat, i això no és manies: Boolean("false") és true, de manera que una consulta coaccionada hauria respost «mostra'm les regles desactivades» amb les activades i hauria semblat que funcionava.
L'ordre de la llista és l'ordre d'avaluació, de manera que llegir-la de dalt a baix és llegir què li passa a un missatge. position no és únic i no és un id (POST /rules/reorder el renumera), així que fixa una regla pel seu id rul_ i mai per la posició on es troba ara.
matchCount i lastMatchedAt es compten a la base de dades a mesura que arriba el correu, en comptes de llegir-se i reescriure's, de manera que dos missatges que arriben alhora no poden perdre un recompte pel camí. Una regla que no s'ha disparat mai diu 0 i null, que és la resposta sobre la qual val la pena actuar quan algú diu que una regla no funciona.