REST Email Marketing API Documentation

Referrals — Create

Create a refer-a-friend invitation to one or more new email addresses.






referrerEmailAddress The email address of the existing recipient who is referring new email addresses.
referrerComment (Optional) If a document is sent to the referrees (not recommended), some text to mail merge into the document to personalize the message.
referrees A structure of two fields, emailAddress and name, which represent the people who are being referred. The name field is optional.
mailQueueId (Optional) The MailQueueId of the message received by the referrer that lead to this sign-up. Allows for tracking of which messages lead to the most referrals.
documentName (Optional) If a document is sent to the referrees (not recommended), the name of that document of type refer-a-friend.

Required permission



No Permission
Invalid document name
Invalid document type - must be a refer-a-friend type
Invalid mailQueueId
Invalid referrer
Too many API calls
Database error
Unknown error


A dictionary of the email address and a message about their status. The status message includes:

Referral added
Referrer is banned from creating new referrals
Recipient is already in the database
Recipient has already been referred
Recipient email is banned
Recipient is globally unsubscribed
Invalid email address
Recipient is on a suppression list
Document failed to queue


Add several new referrals.

{"":"Recipient has already been referred", "":"Recipient email is banned", "":"Recipient has already been referred", "":"Referral added"}
string message = "{'accountName':'acme','login':'ApiUser', 'password':'sdve4t3gfd', 'referrerEmailAddress':'', 'referrees':[['emailAddress':'', 'name':'Sam Smith'],
					['emailAddress':'', 'name':''],
					['emailAddress':'','name':'George Jones']], 'mailQueueId':262525}";
string url = "";
	System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
	request.Method = "POST";
	request.ContentType = "application/json";
	request.ContentLength = message.Length;
	using (Stream webStream = request.GetRequestStream())
		using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
	System.Net.WebResponse webResponse = request.GetResponse();
	using (Stream webStream = webResponse.GetResponseStream())
		using (StreamReader responseReader = new StreamReader(webStream))
catch (Exception e)
# encoding: utf-8
require 'rest-client'
require 'json'
url = ''
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'sdf3w4tw', 
					'referrees'=>[['emailAddress'=>'', 'name'=>'Sam Smith'],
					['emailAddress'=>'', 'name'=>''],
					['emailAddress'=>'','name'=>'George Jones']], 
response =, args.to_json, :content_type => "application/json;charset=utf-8")
puts response	
import requests
url = "";
args = {'accountName':'acme','login':'ApiUser', 'password':'f334f3fg3', 
					'referrees':[['emailAddress':'', 'name':'Sam Smith'],
					['emailAddress':'', 'name':''],
					['emailAddress':'','name':'George Jones']], 
headers = {'Content-Type': 'application/json'}
resp =, json=args, headers=headers)
if resp.status_code == 200:
	print resp.text

curl -X POST -H "Content-Type: application/json" -d "{'accountName':'acme','login':'ApiUser', 'password':'f334f3fg3', 'referrerEmailAddress':'', 'referrees':[['emailAddress':'', 'name':'Sam Smith'], ['emailAddress':'', 'name':''], ['emailAddress':'','name':'George Jones']], 'mailQueueId':262525}"

Share this: