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.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
list_id The list to remove the users from. | integer | Yes | — | ≥ 1 | — |
subscribers The users to remove, as a JSON array of {email} or {userId} objects. At least one user is required. | array | Yes | — | ≥ 1 characters; array of object | [{"email":"ada@example.com"}] |
campaign_id Campaign to attribute the unsubscribe to. | integer | No | — | ≥ 1 | — |
channel_unsubscribe Also unsubscribe them from the list's channel — a global unsubscribe. | boolean | No | — | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"subscribers": [
{
"email": "ada@example.com"
}
]
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
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.