Subscriber
Core library object for managing All Subscribers list entries — add, retrieve, upsert, update, remove, unsubscribe, and retrieve attributes and lists.
The Subscriber Core library object manages entries in the All Subscribers list. Use it to create, look up, update, or unsubscribe subscribers, and to retrieve their attributes and list memberships.
Requires Platform.Load("core", "1.1.5") before use.
Methods
| Method | Returns | Description |
|---|---|---|
Subscriber.Init(key) |
SubscriberInstance | Initialize a Subscriber instance by key |
Subscriber.Add(properties) |
string | Create a new subscriber |
Subscriber.Retrieve(filter) |
object[] | Retrieve subscribers matching a filter |
Subscriber.Upsert(properties) |
string | Create or update a subscriber |
Subscriber.Statistics(subscriberKey) |
object | Retrieve statistics for a subscriber |
<SubscriberInstance>.Update(properties) |
string | Update the initialized subscriber |
<SubscriberInstance>.Remove() |
string | Delete the initialized subscriber |
<SubscriberInstance>.Unsubscribe() |
string | Set the subscriber status to Unsubscribed |
<SubscriberInstance>.Attributes.Retrieve() |
object[] | Retrieve attributes for the subscriber |
<SubscriberInstance>.Lists.Retrieve() |
object[] | Retrieve list memberships for the subscriber |
Subscriber.Init
Initializes a Subscriber instance bound to the specified subscriber key. Required before invoking any instance method on the returned object.
Syntax
Subscriber.Init(key)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
key |
string | Yes | Subscriber key |
Return value
SubscriberInstance
Examples
Platform.Load("core", "1");
var sub = Subscriber.Init("mySubscriber");
Subscriber.Add
Creates a new subscriber from the supplied properties.
Syntax
Subscriber.Add(properties)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
properties |
object | Yes | EmailAddress, SubscriberKey, EmailTypePreference, Attributes, Lists, … |
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var newSubscriber = {
EmailAddress: "test.008@example.com",
SubscriberKey: "20100730001",
EmailTypePreference: "Text",
Attributes: { "First Name": "test.008", "Last Name": "test.008" },
Lists: { Status: "Active", ID: 12345, Action: "Create" }
};
var status = Subscriber.Add(newSubscriber);
Subscriber.Retrieve
Returns an array of subscribers matching the specified filter.
Syntax
Subscriber.Retrieve(filter)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter |
object | Yes | PascalCase WSProxy-style filter object: {Property, SimpleOperator, Value} |
Return value
object[]
Examples
Platform.Load("core", "1.1.5");
var results = Subscriber.Retrieve({ Property: "SubscriberKey", SimpleOperator: "equals", Value: "MySubscriberKey" });
Subscriber.Upsert
Creates a new subscriber, or updates an existing one matched by EmailAddress / SubscriberKey.
Syntax
Subscriber.Upsert(properties)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
properties |
object | Yes | EmailAddress, SubscriberKey, Attributes, … |
Return value
"OK" on success.
Examples
Platform.Load("core", "1");
var sub = {
EmailAddress: "test@example.com",
SubscriberKey: "test@example.com",
Attributes: [ { Name: "FirstName", Value: "Jane" } ]
};
var result = Subscriber.Upsert(sub);
Write(Stringify(result));
Subscriber.Statistics
Retrieves statistical data for the specified subscriber (sends, opens, clicks, bounces, unsubscribes).
Syntax
Subscriber.Statistics(subscriberKey)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
subscriberKey |
string | Yes | The subscriber key identifying the subscriber |
Return value
object — a single object with subscriber statistics (not an array).
Examples
Platform.Load("core", "1");
var stats = Subscriber.Statistics("test@example.com");
Write(Stringify(stats));
<SubscriberInstance>.Update
Updates the previously initialized subscriber with the supplied attributes.
Syntax
<SubscriberInstance>.Update(properties)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
properties |
object | Yes | Subscriber properties to change |
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var status = subObj.Update({ EmailTypePreference: "HTML", Attributes: { "First Name": "Test", "Last Name": "User" } });
<SubscriberInstance>.Remove
Deletes the previously initialized subscriber.
Syntax
<SubscriberInstance>.Remove()
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var status = subObj.Remove();
<SubscriberInstance>.Unsubscribe
Sets the previously initialized subscriber’s status to "Unsubscribed".
Syntax
<SubscriberInstance>.Unsubscribe()
Return value
"OK" on success.
Examples
Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var status = subObj.Unsubscribe();
<SubscriberInstance>.Attributes.Retrieve
Returns an array of attributes associated with the previously initialized subscriber.
Syntax
<SubscriberInstance>.Attributes.Retrieve()
Return value
object[]
Examples
Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var attributes = subObj.Attributes.Retrieve();
<SubscriberInstance>.Lists.Retrieve
Returns the lists the previously initialized subscriber is a member of.
Syntax
<SubscriberInstance>.Lists.Retrieve()
Return value
object[]
Examples
Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var listArray = subObj.Lists.Retrieve();
Notes
For more advanced subscriber management (batch operations, SOAP object access), use WSProxy with the Subscriber SOAP object. See WSProxy.