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 | struct |
Custom fields (1 to X). Use customFields/search endpoint to determine available custom fields for your account. Each custom field is a struct 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 | struct |
Content variables 1 to 10. Each content variable is a struct 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. |
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 | struct | Struct 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 a struct of "dateModified", "value", "percentile", and "title" keys. This data is read-only and cannot be saved. |
contentVariables | struct | Content variables 1 to 10. Each content variable is a struct 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 | struct | Custom fields (1 to X). Use customFields/search endpoint to determine available custom fields for your account. Each custom field is a struct 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: .-_! |
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