REST Email Marketing API Documentation


Create a new content block or edit an existing one. Content blocks are designed to store content that can be plugged into other content in a Mailing or Document dynamically. It should be content you expect to reuse, such as a sales person's signature line or the contact information for a retail location. Use a Mailing for content that will be sent one time.

Every Content Block has a language associated with it. You can create the same content, with the same name, in different languages. Then when a Mailing or Document needs to insert content, the one with the matching language will be selected.

The mail merge logic will merge either the text or HTML sections of the Content Block into the Mailing or Document based on where the mail merge tag is found. For example, a mail merge tag in the HTML section will substitute the HTML section from the Content Block.






name Up to 25 characters. A name that only administrators will see. Must be unique for the given culture.
text (optional) The text section of the content.
html (optional) The HTML section of the content.
delimiterStart (optional) The delimiter to use to mark the start of a mail merge section.
delimiterEnd (optional) The delimiter to use to mark the end of a mail merge section.
description (optional) A textual description of the Content Block, for your use. Recommended so other administrators can quickly identify the content without relying completely on the name.
culture (optional) The culture of the content. Should be the international standard, like "en-US" or "fr-FR".
replaceExisting A boolean value indicating whether an existing Content Block should be overridden.

Required permission



No Permission
Invalid content block name
Database error
Unknown error




Edit a content block.

string message = "{'accountName':'acme', 'login':'ApiUser', 'password':'sdf3w4tw', 'name':'JunkMe2', 'text':'This is the edited content block text', 'html':'This is the edited <b>HTML<b>', 'culture':'en-US', 'description':'Just a test', 'replaceExisting':true}";
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', 'name'=>'JunkMe2', 'text'=>'This is the edited content block text', 'html'=>'This is the edited <b>HTML<b>', 'culture'=>'en-US', 'description'=>'Just a test', 'replaceExisting'=>true}
response =, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
import requests

url = "";
args = {'accountName':'acme', 'login':'ApiUser', 'password':'sdf3w4tw', 'name':'JunkMe2', 'text':'This is the edited content block text', 'html':'This is the edited <b>HTML<b>', 'culture':'en-US', 'description':'Just a test', 'replaceExisting':True}
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':'sdf3w4tw', 'name':'JunkMe2', 'text':'This is the edited content block text', 'html':'This is the edited <b>HTML<b>', 'culture':'en-US', 'description':'Just a test', 'replaceExisting':true}"

Share this: