Skip to the documentation
CLI

nextmail suppressions

Every command in this namespace, with its arguments, flags and examples.

Commands

The addresses this workspace will not send to: hard bounces, complaints and the ones you block by hand.

Every command here also takes the global flags, such as --json, --profile and --dry-run. See the global flags

nextmail suppressions list

List one page of the suppression list

Scopessettings:readNeeds a sign-inAliasesls

Usage

nextmail suppressions list [flags]

Resolves one page of the addresses this workspace will not send to, newest first: every address that bounced hard, complained, or was added by hand.

A send to a suppressed address is refused for that recipient before anything leaves, and a message whose recipients are all suppressed fails outright. The list belongs to the whole workspace, so a key limited to some addresses reads all of it, and a row names the recipient, never which of your addresses sent to it.

removable says whether remove will take the address off. A hard bounce is permanent here, because the address could not take mail. A complaint or a manual entry can be removed.

Add --all to walk every page: a table on a terminal, one JSON object per line when piped or with --ndjson, and one { items, hasMore, nextCursor } document with --json. --max <n> stops after that many items.

Flags

--q <value>

Searches the address, the reason and the detail. Words match loosely, and a close spelling is tried when nothing matches exactly.

--reason <value>

Keeps one kind: bounce, complaint or manual.

--limit <n>

Page size, from 1 to 100. The server defaults to 25.

Default25
--cursor <value>

The nextCursor of the previous page. Leave it out for the first page.

--all

Fetch every page and stream the items as they arrive.

--max <n>

Stop after this many items. Implies --all.

--ndjson

Print every item as one JSON object per line. Implies --all

Examples

nextmail suppressions list
With optional flags
nextmail suppressions list --reason complaint
Walk every page and stop after 100 items
nextmail suppressions list --all --max 100
One JSON object per line when piped
nextmail suppressions list --all > suppressions.ndjson

Also available in

API
GET /suppressions
TypeScript
nextmail.suppressions.list()
Python
suppressions.list()
Ruby
suppressions.list
PHP
suppressions->list
Go
Suppressions.List
Java
suppressions().list
C#
Suppressions.ListAsync

nextmail suppressions get

Read one suppressed address by id

Scopessettings:readNeeds a sign-inAliasesshowview

Usage

nextmail suppressions get <id> [flags]

Resolves one row of the suppression list: the address, why it is there, the detail the bounce or complaint carried, whether it can be removed and when it was added.

Arguments

<id>Required

The id from list.

Examples

nextmail suppressions get 7b1e2c3d-4f5a-4b6c-8d7e-9f0a1b2c3d4e
Print the raw JSON
nextmail suppressions get 7b1e2c3d-4f5a-4b6c-8d7e-9f0a1b2c3d4e --json

Also available in

API
GET /suppressions/{id}
TypeScript
nextmail.suppressions.get()
Python
suppressions.get()
Ruby
suppressions.get
PHP
suppressions->get
Go
Suppressions.Get
Java
suppressions().get
C#
Suppressions.GetAsync

nextmail suppressions add

Stop sending to an address

Scopessettings:writeNeeds a sign-inAliasesnewcreate

Usage

nextmail suppressions add --email <value> [flags]
nextmail suppressions add --data <json|@file|-> [flags]

Puts an address on the suppression list by hand, with reason: 'manual', so no address in the workspace sends to it again until it is removed. It is the Block an address control on the Blocked addresses screen.

Adding an address that is already there changes nothing: the server answers 200 with the row it already holds, whatever its reason, where a new entry answers 201. Either way you get the row back. A new entry fires suppression.added to the webhooks that asked for it.

Flags

--email <value>

The address to stop sending to. It is trimmed and lower cased. Required, here or in --data.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

nextmail suppressions add --email noreply@example.com
Read the whole body from a JSON file
nextmail suppressions add --data @suppression.json

Also available in

API
POST /suppressions
TypeScript
nextmail.suppressions.add()
Python
suppressions.add()
Ruby
suppressions.add
PHP
suppressions->add
Go
Suppressions.Add
Java
suppressions().add
C#
Suppressions.AddAsync

nextmail suppressions remove

Allow mail to an address again

Scopessettings:writeNeeds a sign-in
Asks you to confirm
Aliasesrmdeldelete

Usage

nextmail suppressions remove <id> [flags]

Takes an address off the suppression list, so mail may go to it again. It is Allow again on the Blocked addresses screen, and it fires suppression.removed.

Only a complaint or a manual entry can be removed. A hard bounce answers 409 suppression_not_removable and stays, because the address could not take mail: check it is spelled right and send to the corrected one instead.

Arguments

<id>Required

The id from list.

Examples

nextmail suppressions remove 7b1e2c3d-4f5a-4b6c-8d7e-9f0a1b2c3d4e
Skip the confirmation, for scripts
nextmail suppressions remove 7b1e2c3d-4f5a-4b6c-8d7e-9f0a1b2c3d4e --yes

Also available in

API
DELETE /suppressions/{id}
TypeScript
nextmail.suppressions.remove()
Python
suppressions.remove()
Ruby
suppressions.remove
PHP
suppressions->remove
Go
Suppressions.Remove
Java
suppressions().remove
C#
Suppressions.RemoveAsync

nextmail suppressions list-unsubscribes

List one page of the people who unsubscribed

Scopessettings:readNeeds a sign-in

Usage

nextmail suppressions list-unsubscribes [flags]

Resolves one page of the people who asked this workspace for no more marketing mail, newest first. It is the Unsubscribed list on the Blocked addresses screen in Settings.

An unsubscribe belongs to the whole workspace and outlasts the contact: removing the person from an audience, deleting the contact or importing the address again never brings them back. Every broadcast and automation email skips them, and adding them to an audience records them there as unsubscribed. Mail people write to you, and your replies, still reach them, because only marketing mail stops. list is the hard block on every kind of mail.

removable says whether removeUnsubscribe takes it back, which is true only for one the team recorded by hand. A person who unsubscribed decides alone whether to come back: through a sign-up form they confirm from their inbox, or Subscribe again on the unsubscribe page.

Flags

--q <value>

One whole address, matched exactly and without regard to case. The addresses are stored encrypted, so a part of one finds nothing.

--source <value>

Keeps one way of unsubscribing: link, one_click, complaint, import or manual.

--limit <n>

Page size, from 1 to 100. The server defaults to 25.

Default25
--cursor <value>

The nextCursor of the previous page. Leave it out for the first page.

Examples

nextmail suppressions list-unsubscribes
With optional flags
nextmail suppressions list-unsubscribes --q ada@example.com --source one_click

Also available in

API
GET /suppressions/unsubscribes
TypeScript
nextmail.suppressions.listUnsubscribes()
Python
suppressions.list_unsubscribes()
Ruby
suppressions.list_unsubscribes
PHP
suppressions->listUnsubscribes
Go
Suppressions.ListUnsubscribes
Java
suppressions().listUnsubscribes
C#
Suppressions.ListUnsubscribesAsync

nextmail suppressions add-unsubscribe

Record that somebody unsubscribed

Scopessettings:writeNeeds a sign-in

Usage

nextmail suppressions add-unsubscribe --email <value> [flags]
nextmail suppressions add-unsubscribe --data <json|@file|-> [flags]

Records that somebody asked to stop getting marketing mail, for when they asked by phone, in a reply or anywhere else, with source: 'manual'. Their contact, if there is one, is unsubscribed from every audience at once, the automations sending to them end, and contact.unsubscribed fires. No broadcast or automation email goes to the address from then on, while ordinary mail and replies still do.

Recording an address that is already on the list changes nothing: the server answers 200 with the record it holds, where a new one answers 201.

Flags

--email <value>

The address that asked for no more marketing mail. It is trimmed and lower cased. Required, here or in --data.

--data <json|@file|->

The whole body as JSON, inline, from a file with @path, or - for standard input. Flags override its keys.

Examples

nextmail suppressions add-unsubscribe --email ada@example.com
Read the whole body from a JSON file
nextmail suppressions add-unsubscribe --data @suppression.json

Also available in

API
POST /suppressions/unsubscribes
TypeScript
nextmail.suppressions.addUnsubscribe()
Python
suppressions.add_unsubscribe()
Ruby
suppressions.add_unsubscribe
PHP
suppressions->addUnsubscribe
Go
Suppressions.AddUnsubscribe
Java
suppressions().addUnsubscribe
C#
Suppressions.AddUnsubscribeAsync

nextmail suppressions remove-unsubscribe

Take back an unsubscribe the team recorded

Scopessettings:writeNeeds a sign-in
Asks you to confirm

Usage

nextmail suppressions remove-unsubscribe <email> [flags]

Takes back an unsubscribe the team recorded by hand, for one recorded by mistake. The audiences it unsubscribed are subscribed again, and contact.resubscribed fires.

Every other kind is refused with 409 unsubscribe_not_removable, because a person who unsubscribed decides alone whether to come back: through a sign-up form they confirm from their inbox, or Subscribe again on the unsubscribe page. An address that has not unsubscribed is a 404.

Arguments

<email>Required

The address, as listUnsubscribes returns it. Case does not matter.

Examples

nextmail suppressions remove-unsubscribe ada@example.com
Skip the confirmation, for scripts
nextmail suppressions remove-unsubscribe ada@example.com --yes

Also available in

API
DELETE /suppressions/unsubscribes/{email}
TypeScript
nextmail.suppressions.removeUnsubscribe()
Python
suppressions.remove_unsubscribe()
Ruby
suppressions.remove_unsubscribe
PHP
suppressions->removeUnsubscribe
Go
Suppressions.RemoveUnsubscribe
Java
suppressions().removeUnsubscribe
C#
Suppressions.RemoveUnsubscribeAsync