Skip to content

POST /api/admin/bounce/v1

Making a POST request to this endpoint allows the system operator to administratively bounce messages that match certain criteria, or if no criteria are provided, ALL messages.

Danger

There is no way to undo the actions carried out by this request!

The body of the post request must be a JSON object; here's an example:

{
    "domain": "gmail.com",
    "reason": "no time to explain!11!"
}

and the response will look something like this, returning a unique identifier for the bounce entry:

{"id": "eab8cf70-4f64-4e02-9493-0b2f190a9a73"}

Use the GET /api/admin/bounce/v1 API or the kcli bounce-list command to review the current totals for the bounces that have been registered in the system.

The following fields are possible in the request:

domain

Optional string. The domain name to match. If omitted, any domain will match.

routing_domain

Since: Version 2023.08.22-4d895015

The functionality described in this outlined box requires version 2023.08.22-4d895015 of KumoMTA, or a more recent version.


Optional string. The routing_domain name to match. If omitted, any routing_domain will match.

campaign

Optional string. The campaign name to match. If omitted, any campaign will match.

tenant

Optional string. The tenant to match. If omitted, any tenant will match.

Danger

If you specify none of domain, campaign or tenant, then ALL queues will be bounced.

With great power, comes great responsibility!

reason

Required. Reason to log in the delivery log.

duration

Optional duration string. Defaults to "5m". Specifies how long this bounce directive remains active.

While active, newly injected messages that match the bounce criteria will also be bounced.

Kumo CLI

In addition to making raw API requests, you may use the kumo CLI:

$ kcli bounce --everything --reason purge
NOTE: the bounce is running async. Use the bounce-list command to review ongoing status!
eab8cf70-4f64-4e02-9493-0b2f190a9a73

Run kcli bounce --help for more informtion.