Create or Update Subscriber

mailerlite.upsert_subscriber
ActionEmailconnection required

Calls the MailerLite API with the connection's credentials.

Create a subscriber, or update the existing one with the same email address.

Connection

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

Configuration

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

FieldTypeRequiredDefaultConstraintsExample
email
The subscriber's email address; it is the identity MailerLite matches on.
stringYes—email formatdummy@example.com
fields
Custom field values keyed by field name, such as name or company.
objectNo———
groups
Group ids to add the subscriber to, as a JSON array of strings; omitting a group here never removes the subscriber from it.
arrayNo—array of string—
status
The state to set; MailerLite defaults new subscribers to active.
stringNo—one of "active", "unsubscribed", "unconfirmed", "bounced", "junk"—
resubscribe
Re-activate the address if it had previously unsubscribed.
booleanNofalse——

Example configuration

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

{
  "email": "dummy@example.com",
  "resubscribe": false
}

Output

One shape.

result

FieldTypeExample
id
MailerLite's id for this subscriber.
string—
email
The subscriber's email address.
string—
status
One of active, unsubscribed, unconfirmed, bounced or junk.
string—
source
How the subscriber entered the account, such as api or import.
string—
sent
How many campaigns have been sent to this subscriber.
number—
opens_count
How many of those campaigns the subscriber opened.
number—
clicks_count
How many links the subscriber has clicked.
number—
open_rate
Share of sent campaigns opened, as MailerLite reports it.
number—
click_rate
Share of sent campaigns clicked, as MailerLite reports it.
number—
ip_address
The IP address the subscription was recorded from.
string—
subscribed_at
When the subscriber was subscribed, as a MailerLite date.
string—
unsubscribed_at
When the subscriber unsubscribed, or null.
string—
created_at
When the subscriber record was created.
string—
updated_at
When the subscriber record was last changed.
string—
fields
Custom field values, keyed by the field's name.
object—
groups
The groups this subscriber belongs to, when they were included.
array—
opted_in_at
When double opt-in was confirmed, or null.
string—
optin_ip
The IP address the opt-in was confirmed from, or null.
string—
{
  "click_rate": 0,
  "clicks_count": 0,
  "created_at": "",
  "email": "",
  "fields": {},
  "groups": [],
  "id": "",
  "ip_address": "",
  "open_rate": 0,
  "opens_count": 0,
  "opted_in_at": "",
  "optin_ip": "",
  "sent": 0,
  "source": "",
  "status": "",
  "subscribed_at": "",
  "unsubscribed_at": "",
  "updated_at": ""
}

Notes

  • This one endpoint both creates and updates: MailerLite answers 201 for a new address and 200 for an existing one, and returns the subscriber either way, so the node cannot tell you which happened.

See Create or Update Subscriber run in a workflow.

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