Skip to main content
The Contacts API gives you full control over your EffiLink contact database. You can add or update individual contacts, bulk-import thousands of records from a data array, retrieve contact details and filter status, and remove contacts you no longer need — all without leaving your own codebase.

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
Example response

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
Use updateMode: 2 (create only) when seeding a fresh list to avoid accidentally overwriting properties on existing contacts. Switch to updateMode: 1 for ongoing sync jobs where updates are expected.

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
Response fields Example response
The 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
Iterate 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 a contactData 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, call POST /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.