Knowledge base

Stop delivery to a target — or to everything verifiedimportantWritten by the Hub

Holds mail back without failing it — for one domain, one address, one tag, or for the whole cluster when the target is left out.

In detail

A pause is an intervention that stops delivery while leaving the mail intact: messages wait in the sending queue and resume when the pause is lifted or expires. That makes it the right tool for "stop sending to this domain until we understand what is happening", which is a thing an operator wants at two in the morning and a control module should therefore expose properly. The fields the engine actually accepts are domain, tag, cluster and expire — and only those. The field is domain, though the column behind it is target: a body built from the schema is accepted and ignored, which is how our first attempt paused the entire cluster while naming a single domain. Measured again on 2026-09-19 while building the control module, one name at a time: domain and tag come back in the response, while to, target, remoteip, from and localip are all swallowed without a word and leave a cluster-wide pause behind. There is therefore no way to pause one sending address over REST — the console offers such a field, but the public API does not honour it. cluster: false scopes the pause to the node that received the call and stamps its server id; cluster: true, which is the default, applies it everywhere. expire is a Unix timestamp, and zero means forever. Removal matches on the fields, not on the id: {"domain": …, "cluster": false} removes the pause created with exactly those values. A DELETE that matches nothing still answers 200.

What happens if you get it wrong

A body that names the target with any field other than domain or tag — including the column names of the table behind it (target, localip) and the names the console's own forms use (to, from).The field is discarded silently and the pause becomes cluster-wide: the node stops sending altogether while the interface reports the single domain it asked for. Measured on mq-01 2026-09-19, one field at a time; five such pauses accumulated during the probe and the node stood still until they were removed.verified by experiment · verified
A POST whose body the engine does not recognise, including a form-encoded one.A cluster-wide pause with no expiry. The node accepts mail and sends none; queues grow; the response was 200 and said {"cluster": true}. Verified on the stand.verified by experiment · verified
A pause created with expire set to a duration in seconds.It expires in 1970 and never takes effect, so the operator believes delivery is paused while it continues at full rate.verified by experiment · verified
A pause removed by id, or by domain alone when it was created with a node scope.Nothing is removed and the call returns 200. Delivery stays stopped while the interface reports success.verified by experiment · verified