POST contacts/save
Save a single contact record. ContactID or email is required. Only data for parameters passed in is saved.
* required
Parameters
Name | Type | Description |
---|---|---|
contactID | integer | Unique ID of a contact |
email-address | A valid email address | |
userID | integer | ID of system user contact belongs to |
customerID | string | ID of record in client system |
suppressed | boolean | Opted out of receiving emails |
held | boolean | Bad email address (too many bounces) |
originalSource | string | Client-specified source of record |
firstName | string | |
lastName | string | |
company | string | |
title | string | |
mobileNumber | string | A valid phone number used for SMS. Return values will be in E.164 format (e.g. +15551234567) |
phone | string | |
fax | string | |
address1 | string | |
address2 | string | |
city | string | |
state | string | |
zipCode | string | |
country | string | |
purl | string | Personal URL (PURL) used with emfluence Marketing Platform landing pages. PURLs must be unique per contact. PURLs can contain only letters, numbers, and any of the following characters: .-_! |
dateofbirth | date | Full date of birth in yyyy-mm-dd format. To use only month and day, use 1900 as year |
ipaddress | string | Source IP of record |
notes | string | Extra details about record (internal use) |
memo | string | |
customFields | object |
Custom fields (1 to X). Use customFields/search endpoint to determine available custom fields for your account. Each custom field is an object with keys for "label" and "value". When saving, you only need to provide the value. e.g. {"custom1":{"value":"My custom value"}} For existing records, fields not passed in will remain unchanged.
|
contentVariables | object |
Content variables 1 to 10. Each content variable is an object with keys for "label" and "value". When saving, you only need to provide the value. e.g. {"content1":{"value":"My custom value"}}
|
groupIDs | array[integer] | Add contact to these groups. Contacts cannot be added to dynamic groups. |
removeGroupIDs | array[integer] | Remove contact from these groups. Contacts cannot be removed from the "All" group. To manage group-level suppression, use /contacts/saveGroups. |
Response Data
Returns a contact object (same as when doing a lookup)
Name | Type | Description |
---|---|---|
address1 | string | |
address2 | string | |
city | string | |
company | string | |
contactID | integer | Unique ID of a contact |
contactScore | object | Object containing keys for "dateModified", "value", and "percentile". e.g. {"dateModified":"2018-04-19 21:03:17","value":100,"percentile":48}. If you have multiple contact scores, an additional key for each contact score will be included with an object of "dateModified", "value", "percentile", and "title" keys. This data is read-only and cannot be saved. |
contentVariables | object | Content variables 1 to 10. Each content variable is an object with keys for "label" and "value". When saving, you only need to provide the value. e.g. {"content1":{"value":"My custom value"}} |
country | string | |
customerID | string | ID of record in client system |
customFields | object | Custom fields (1 to X). Use customFields/search endpoint to determine available custom fields for your account. Each custom field is an object with keys for "label" and "value". When saving, you only need to provide the value. e.g. {"custom1":{"value":"My custom value"}} For existing records, fields not passed in will remain unchanged. |
dateAdded | datetime | Date record was added |
dateHeld | datetime | Date record was held |
dateModified | datetime | Date record was modified |
dateOfBirth | date | Full date of birth in yyyy-mm-dd format. To use only month and day, use 1900 as year |
dateSuppressed | datetime | Date record was suppressed |
email-address | A valid email address | |
fax | string | |
firstName | string | |
groupIDs | array[integer] | Groups contact is subscribed to. Excludes groups where contact is suppressed. |
held | boolean | Bad email address (too many bounces) |
ipAddress | string | Source IP of record |
lastActivityDate | datetime | Date contact last viewed an email |
lastClickDate | datetime | Date contact last clicked a link in an email |
lastName | string | |
memo | string | |
mobileNumber | string | A valid phone number used for SMS. Return values will be in E.164 format (e.g. +15551234567) |
notes | string | Extra details about record (internal use) |
originalSource | string | Client-specified source of record |
phone | string | |
purl | string | Personal URL (PURL) used with emfluence Marketing Platform landing pages. PURLs must be unique per contact. PURLs can contain only letters, numbers, and any of the following characters: .-_! |
smsOptOut | array | SMS opt out details for the contact's mobile number |
state | string | |
suppressed | boolean | Opted out of receiving emails |
title | string | |
userID | integer | ID of system user contact belongs to |
zipCode | string |
Permissions
Method requires the Contacts (Edit) permission
Example Calls
Save contact using email address
POST
/contacts/save
cURL
Copy
Response Data
Save custom field data
Custom fields can have specific data types. Learn more about custom fields
POST
/contacts/save
cURL
Copy
Response Data
Save contact using ID
If email address is changed to an email that already exists, an duplicate error will be returned.
POST
/contacts/save
cURL
Copy
Response Data
Add/remove contact from groups
POST
/contacts/save
cURL
Copy
Response Data
API Console
The console uses production data, so BE CAREFUL!
POST
contacts/save