API and Acoustic Campaign folder limits

Folder limits and the standard user in the Acoustic Campaign.

A Standard User who has Folder Limits in the Acoustic Campaign can access and manipulate any data in the Org via API from an allowed IP address.

An entire contact source action can be restricted from the API, regardless of IP restrictions. For more information, click here.

Note: These settings override user permissions for standard users. The settings do not affect organization administrators.

API call to pull tracking metrics from archived mailings

Pulling tracking metrics from archived mailings by using API.

API calls cannot be used to pull detailed tracking metrics from archived mailings. Archived mailings have little information that is attached to them and the information that is presented in the archived mailing is the only information that is stored.

Are API call tags case-sensitive?

Case-sensitive API tags

IBM® API is based on XML tags and they ARE case-sensitive.

If you change the tag <Body> to <body>, you get the response that your request is invalid: <Envelope> <Body> <RESULT> <SUCCESS>false</SUCCESS> </RESULT> <Fault> <Request/> <FaultCode/> <FaultString>Invalid XML Request</FaultString> <detail> <error> <errorid>51</errorid> <module/> <class>SP.API</class> <method/> </error> </detail> </Fault> </Body> </Envelope>

Create a .CSV file for aggregate tracking for org API call

How to create .csv for aggregate tracking or an organization.

The API test harness does not provide a csv file for export for the Get Aggregate Tracking Metrics for an Org call. However, you can get all of the information by looking at the view frame source after successful submission of the call. In the source view, you can copy and paste all the information into Excel.

Delete a contact list by using API

Can a contact list be deleted by using API?

It is not possible to delete a contact list by using API. Data can be purged from a contact list by using API, but deleting the actual database can be achieved through the Acoustic Campaign user interface.

Note: Purging data means that you leave the structure but delete information that is contained within said structure. Deletion means that everything about the data is removed right down to the structure as if the data never existed.

Using the ScheduleMailing API on a contact source that is being updated

Using the ScheduleMailing API call on a contact source.

An ImportList API call is submitted that adds new contacts to a database as well as updates some existing contacts. After submission of the ImportList call, the ScheduleMailing API call is submitted but the <SCHEDULED/> element is omitted to make the mailing send as soon as possible.

Since the ImportList API datajob is not completed, does the ScheduleMailing API call send a mailing to an incomplete / non-updated contact source?

The Acoustic Campaign places a lock on any contact source that is going through a calculate/update. This security measure allows the mailing send created by the ScheduleMailing API call to commence after the datajob that is created by the ImportList API call is complete.

As an extra safe guard, you can update your process to include a GetJobStatus API call. You could then execute a SendMailing API call only after it returns a value of COMPLETE for your ImportList API call but never before.


Does Acoustic Campaign support CORS?

Support of CORS within Acoustic Campaign.

Acoustic Campaign does not support CORS.

When creating web pages on a site that interacts with Acoustic Campaign through the API, requests must be made server-side. For example, a visitor to a web page might complete a form, click submit and send the data to PHP. PHP runs a check that 1) the data is complete and then 2) sends an API call to Acoustic Campaign with the data.

Attempting to send the API call client-side, using JavaScript through the user’s browser, will likely fail due to the CORS standard. This is because the request to the Acoustic Campaign API server travels from the site’s domain to the API server. For security reasons Acoustic Campaign does not open the API server to work with CORS.

Note: CORS restriction is in place for XML APIs and REST APIs.

API JSessionID expires in minutes

Why the JSessionID expires so quickly.


Normally an API JSessionID will be valid until after 15 minutes of inactivity. But sometimes an API user can experience that the JSessionID expires in just a few minutes, which are much sooner than expected. The user has to run a Login API more frequently than usual to obtain new JSessionID.

Error Example

        <![CDATA[Session has expired or is invalid]]>


There is no guarantee on the life of a JSession. Sometimes, the JSession is sticky to one specific application server. Because the calls are not authenticated on that application server, when the subsequent calls are made by the user, the calls could go to a different application server and cause the error.


The recommendation is to use an OAuth session to permanently avoid this issue. Each OAuth access token can provide a much longer access time to the system for up to 4 hours.

Is there a limit to the number of API calls that can be submitted simultaneously?

Limitations on simultaneous API calls.

There is a limit on the number of API calls that can be made in Salesforce. This affects clients who are syncing Salesforce contacts into the Acoustic Campaign.

If you use Salesforce and want to increase your API limit, then you must provide the following information to Support.

  • One or more tools used that need the API increase.
  • Specific duration as to how long the limit increase is to be in effect.
  • Duration for the API call increase (how long is needed for the limit increase)?
  • How many API calls are being requested for the temporary increase?
  • How many records, and what objects are loaded?
  • What specific API Calls are going to be made and how many?
  • What edition of Salesforce.com is being used?
  • Provide the Org ID (to view, go to: Set up > Company Profile > Company information)

Once this information is obtained, the Client Support Team sends the information to the CRMi Team.

Supported Date Format

Date for formats for API

IBM supports its customers globally by adapting Acoustic Campaign to support local languages beyond English. These updates also apply to the Date, Time, and Timestamp formatting displayed in Acoustic Campaign . As we add and support extra language and locales in Acoustic Campaign, the XML APIs remain unchanged for now. Date formats for the XML API operations have not been updated to reflect the changes that are made in the Acoustic Campaign platform.


For US customers, Date is displayed as MM d, y. Eventually, for customers in France, if their Organization setting is configured to their local settings, Date format in their Acoustic Campaign platform is displayed as MM y, d.

Frequently asked questions - Restricted databases

Get answers to frequently asked questions in regards to Restricted databases.

Question Answer
Does OptOutRecipient opt out all contacts with the email address or just the contact who matches the unique key? You can use the OptOutRecipient API on a Restricted database by including all unique key columns with their corresponding name-value pairs or by specifying the email address. If you do specify a unique key, Acoustic Campaign only opts out the contact who matches the unique key, not other contacts with the same email address. If you specify the email address, the system opts out all contacts with the specified email address.
Can you change the unique key in an existing database? No, once you define the database, you can only add unique keys.
Must you use the email address along with the unique key when calling SelectRecipientData? No, you can leave out the email address and provide the unique key.
If you have multiple unique keys and call AddRecipient, must you provide the email address and all unique keys? Yes. You must provide all unique keys and the email address when calling the AddRecipient operation.
Should the master Suppression list have the same key as a database? No, your master Suppression list must have Email as its key. Add to Master Suppression List uses email address for opting out (without a unique key, other than the email specified in the master Suppression list.).
Does the RemoveRecipient operation require that you specify all unique keys and the email address to remove a contact? Yes. If you have more than one instance of the same email address in the database, specifying all unique keys prevents removal of records with the same email address.

5 comments on"FAQs"

  1. Hello Team,

    Could you please help us how to send the share to social links (links for Facebook, Twitter etc) to Save Mailing API as HTML anchor links.
    Does it needs to be like a click through link, Does it have any click through type

    • Hello Somu,
      I’m confused by the Save Mailing API call you mention. Can you clarify?

      Thank you,
      Jeri Ellis

  2. I am trying to send automate mail from XMLAPI using SendMailing. I have given mailingid but having error like
    “Only sending Custom Automated Mailings are allowed. Please provide the Mailing ID for a Custom Automated Mailing.”
    how i get custom automate mail id from API

    • Hello Suvarna,
      You would have to created the custom automated mailing within the Watson Campaign Automation organization.

      Thank you

  3. Tom Coppedge July 01, 2019

    When WCA is is -not- integrated with a CRM system:
    1. How many XML API calls per second does WCA support?
    2. How many simultaneous XML API calls per second does WCA support?
    3. Is there a way to change either of the above for a given Org? If so, who do we contact?

Join The Discussion

Your email address will not be published. Required fields are marked *