Unsubscribe From List

iterable.unsubscribe_from_list
ActionEmailconnection required

Calls the Iterable API with the connection's credentials.

Remove users from a list, optionally unsubscribing them globally.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Iterable
Secret shape
the API key, or {"api_key": "…"}
Config it needs
region, base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

4 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
list_id
The list to remove the users from.
integerYes—≥ 1—
subscribers
The users to remove, as a JSON array of {email} or {userId} objects. At least one user is required.
arrayYes—≥ 1 characters; array of object[{"email":"ada@example.com"}]
campaign_id
Campaign to attribute the unsubscribe to.
integerNo—≥ 1—
channel_unsubscribe
Also unsubscribe them from the list's channel — a global unsubscribe.
booleanNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "subscribers": [
    {
      "email": "ada@example.com"
    }
  ]
}

Output

One shape.

result

FieldTypeExample
success_count
How many records Iterable applied.
number—
fail_count
How many records Iterable rejected.
number—
partial
True when some records were applied and others were rejected.
boolean—
failed_updates
Iterable's breakdown of the rejected records: invalid, not-found, conflicting and GDPR-forgotten identifiers.
object—
created_fields
Profile fields Iterable created for this request.
array—
filtered_out_fields
Fields Iterable dropped because they were not known.
array—
list_id
The list that was written to.
number—
{
  "created_fields": [],
  "fail_count": 0,
  "failed_updates": {},
  "filtered_out_fields": [],
  "list_id": 0,
  "partial": false,
  "success_count": 0
}

Notes

  • Iterable answers 200 even when some records fail: check 'fail_count' and 'failed_updates', not just the absence of an error.
  • 'channel_unsubscribe' stops every message on that channel, not just this list.

See Unsubscribe From List run in a workflow.

In a technical demo we add the Iterable connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.