Add or update a single contact
POST /v5/contacts/upsert
Use this endpoint to create a new contact or update an existing one in a single call. EffiLink matches on email or phoneNumber — if a contact with that identifier already exists, its record is updated; otherwise a new contact is created.
Example request
Bulk import contacts
POST /v5/contacts/imports
When you need to load many contacts at once — for example, migrating from a CRM export or syncing a nightly data pipeline — bulk import is the right tool. You pass a two-dimensional array of raw data rows alongside a mapping that tells EffiLink which column corresponds to which contact property.
contactDataMapping object fields
Example request
Retrieve a contact
POST /v5/contacts/get
Fetch a single contact record by email address. The response includes all standard fields and any system-tracked engagement properties such as bounce status and open counts.
Example request
Example response
properties.email_bounced_flag field indicates the contact’s current email filter status. A value of 0 means the address is in good standing; other values indicate suppression reasons. See Contact Properties for the full flag reference.
List contacts in a group
POST /v5/contacts/list/get
Retrieve a paginated list of all contacts belonging to a specific contact list.
Example request
pageIndex until the returned array contains fewer items than pageSize to paginate through all contacts in a large list.
Delete a contact
POST /v5/contacts/delete
Permanently removes a contact record from your EffiLink account. This action cannot be undone.
Example request
Common use cases
Syncing CRM data
If your CRM exports a nightly CSV, parse it into acontactData array and call POST /v5/contacts/imports with updateMode: 1. Map every column you care about using contactDataMapping and point the import at a dedicated listName for that CRM segment. Contacts that already exist are updated in place; new email addresses are created automatically.
Growing subscriber lists
When a user signs up through your website or app, callPOST /v5/contacts/upsert immediately with their email, name, and the listName of your welcome series. Because upsert is idempotent, it is safe to call on every sign-up event without worrying about duplicates — existing contacts are simply updated with the latest data.