API
Retrieve a rule
One rule in full, with its conditions, its actions and how often it has fired.
GETapi.openemail.uk/rules/{id}
Runs the real call against your workspace, with your own key.
GET /rules/{id}
One rule in full, with its conditions, its actions and how often it has fired.
Example
Needs rules:read. Ids carry a rul_ prefix.
curl "$OE/rules/rul_7f3a1c94e05d3862c1f0a44b" -H "$AUTH"{ "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 } ], "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"}A rule on another connection is rule_not_found, a 404, rather than a 403, the same answer as an id that never existed, because telling a key which ids exist on a mailbox it cannot read is itself the leak.
This is the whole rule. There are no versions and no history: an edit overwrites, and what a rule DID is recorded per message in GET /rules/runs instead.